如何使用Flutter在Firestore中复制包含子集合的文档



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

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

Flutter可以做到这一点吗?

我建议将这种类型的数据存储在产品文档中,因为它是关于产品的数据。然而,如果出于某种原因,您需要将数据存储在子集合中,那么您实际上有两个选项。。。

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

  2. 如果您知道收到的子集合是什么,只需发送多个请求即可。

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

最新更新