从子集合中删除文档后,Firestore 未将文档添加到子集合

时间:2021-02-09 20:25:16

标签: flutter google-cloud-firestore

在 Firestore 中,删除子集合中的所有文档,然后重新添加它们后,它不会添加文档。

这是一种奇怪的行为,有时该项目在子集合中闪烁红色并再次消失。但是当我重新加载应用程序时,它会将它们添加进来。有人知道我做错了吗?

尝试管理购物车中的一些商品。

对包含 uid 的任何文档的集合进行查询而不是尝试管理子集合会更好吗?

删除:

 _db.collection('carts').doc(uid).collection('items').snapshots().forEach((element) {
    for (QueryDocumentSnapshot snapshot in element.docs) {
      snapshot.reference.delete();
    }
  });

再次添加:

_db.collection('carts').doc(uid).collection('items').add({
    'itemID': item.itemID,
    'price': item.price,
   
  });

1 个答案:

答案 0 :(得分:0)

原始的删除查询不起作用。我在另一篇文章中找到的,这个很好用。

      FirebaseFirestore.instance.collection('carts').where('uid', isEqualTo: uid).get().then((value) => {
        value.docs.forEach((doc) {
          doc.reference.delete();
        })
      });