我在 Firebase Firestore 中有一个包含文档的集合,可以说:Products
. 每个产品都可以有多个子集合,例如Pictures
, Specifications
,Manufactures
等。
现在我想复制一个包含所有子集合及其文档的产品。我可以很容易地复制产品,但是获得子集合和文档似乎还不太可能。
这可以从 Flutter 中做到吗?
我在 Firebase Firestore 中有一个包含文档的集合,可以说:Products
. 每个产品都可以有多个子集合,例如Pictures
, Specifications
,Manufactures
等。
现在我想复制一个包含所有子集合及其文档的产品。我可以很容易地复制产品,但是获得子集合和文档似乎还不太可能。
这可以从 Flutter 中做到吗?
我建议将这种类型的数据存储在产品文档中,因为它是关于产品的数据。但是,如果由于某种原因您需要将该数据存储在子集合中,您确实有两个选择......
如果您不知道子集合是什么,您可以编写一个递归函数来获取第一个文档,从中读取子集合,获取所有这些文档,然后重复直到没有更多的子集合。
如果你知道你得到的子集合是什么,只需发送多个请求。
final db = FirebaseFirestore.instance;
final results = await Future.wait([
db.collection('products').doc(docID).get(),
db.collection('products/$docID/pictures').get()
])