【问题标题】:How to copy a document including subcollections in Firestore with Flutter?如何使用 Flutter 在 Firestore 中复制包含子集合的文档?
【发布时间】:2020-11-19 20:50:11
【问题描述】:

我在 Firebase Firestore 中有一个包含文档的集合,可以说:Products。 每个产品都可以有多个子集合,例如PicturesSpecificationsManufactures 等。

现在我想复制一个产品包括所有子集合及其文档。 我可以很容易地复制产品,但获得子集合和文档似乎还不太可能。

这可以通过 Flutter 实现吗?

【问题讨论】:

    标签: flutter dart google-cloud-firestore


    【解决方案1】:

    我建议将这种类型的数据存储在产品文档中,因为它是关于产品的数据。但是,如果由于某种原因您需要将该数据存储在子集合中,您确实有两个选择...

    1. 如果您不知道子集合是什么,您可以编写一个递归函数来获取第一个文档,从中读取子集合,获取所有这些文档,然后重复直到没有更多子集合离开了。

    2. 如果您确实知道要获得的子集合是什么,只需发送多个请求即可。

    final db = FirebaseFirestore.instance;
    final results = await Future.wait([
      db.collection('products').doc(docID).get(),
      db.collection('products/$docID/pictures').get()
    ])
    

    【讨论】:

    • 嗨@Ben,感谢您的回答。我正在寻找一个递归函数,因为在复制文档的那一刻我不知道子集合的数量
    猜你喜欢
    • 2020-12-02
    • 2021-04-08
    • 2018-04-25
    • 2018-10-29
    • 2018-08-23
    • 2020-06-26
    相关资源
    最近更新 更多