async function deleteQueryBatch()

in functions/garbageCollector.js [10:29]


async function deleteQueryBatch(db, query, numDeletedAcc = 0) {
  try {
    const snapshot = await query.get();
    if (snapshot.size === 0) {
      // When there are no documents left, we are done
      return numDeletedAcc;
    }

    // Delete documents in a batch
    const batch = db.batch();
    snapshot.docs.forEach((doc) => {
      batch.delete(doc.ref);
    });
    await batch.commit();
    return await deleteQueryBatch(db, query, numDeletedAcc + snapshot.size);
  } catch (error) {
    console.log(error);
    return numDeletedAcc;
  }
}