如何使用WriteBatch删除文档参考列表?

时间:2020-09-14 21:53:43

标签: java firebase google-cloud-firestore

我正在使用Firebase Cloud数据库。我有一个集合employees,其中包含文件,每个文件代表一名员工。每个文档都包含一个shifts字段,该字段是(移位的)引用数组。如果用户要删除员工资料,则应删除此文档以及shifts数组中引用的所有文档。为了删除,我使用WriteBatch

WriteBatch batch = DB.batch();
// ...
batch.delete(DB.collection("employees").document(employeeUniqueID));

我正在尝试找出消除这些变化的最佳方法。我可以获取员工文档并在shifts的每个班次中进行迭代,然后将其添加到delete列表中,但是Firebase是否允许某种方式来实现它而无需进行迭代?

1 个答案:

答案 0 :(得分:0)

除非您有某种无需查询数据库即可获取其他文档ID的方法,否则您所提出的建议没有真正的选择。如果您没有它们,那么实际上您将不得不对其进行查询,迭代,然后将它们分别添加到要删除的批次中。