Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function cleanupFoos(startAfter) {
- let query = db.collection('myCollection').orderBy('createdAt').limit(200)
- if (startAfter) query.startAfter(startAfter)
- return query.get().then(querySnapshot => {
- startAfter = _.last(querySnapshot.docs)
- let batch = db.batch()
- let promises = querySnapshot.docs.map(doc => cleanupFoo(doc, batch))
- return Promise.all(promises).then(() => batch)
- }).then(batch => {
- return batch.commit()
- }).then(() => {
- return startAfter ? cleanupFoos(startAfter) : null
- })
- }
- function cleanupFoo(doc, batch) {
- // return a promise
- }
- // call it
- cleanupFoos()
- startAfter = _.last(querySnapshot.docs) // --> { just this one doc }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement