Flatter和firebase及子系列
我一直在到处寻找。希望有人能帮忙 firestore设置: 用户集合->用户ID列表->项目集合->项目ID列表->项目名称等 我能找到的很多例子都是针对一个特定的用户ID的。我想要的是从所有userid加载所有itemIDs。因此:Flatter和firebase及子系列,firebase,flutter,listview,google-cloud-firestore,collections,Firebase,Flutter,Listview,Google Cloud Firestore,Collections,我一直在到处寻找。希望有人能帮忙 firestore设置: 用户集合->用户ID列表->项目集合->项目ID列表->项目名称等 我能找到的很多例子都是针对一个特定的用户ID的。我想要的是从所有userid加载所有itemIDs。因此: 用户1 ----项目1 ----项目2 ----项目3 用户2 ----项目1 ----项目2 等等 我不需要像上面那样显示它,我希望显示所有项目(最终使用userID来操作数据)。有些人建议使用嵌套式拖缆,但这会消耗大量电力(我不喜欢这个想法) 然后我考虑使
- 用户1
- ----项目1
- ----项目2
- ----项目3
- 用户2
- ----项目1
- ----项目2
- 等等
List listUsers = await FirebaseFirestore.instance
.collection("users")
.get();
for (int i = 0; i < listUsers.length; i++) {
FirebaseFirestore.instance
.collection("users")
.doc(listUsers[i].documentID.toString())
.collection("items")
.snapshots();
}
然后访问列表项及其值,如下所示:
print('OMG------------ ${listItems[0].documentID.toString()}'); //document ID
print('OMG------------ ${listItems[0].data()['item_name']}'); // specific value within collection
如果我理解正确,这看起来像是由具有相同ID的所有集合组成的
collectionGroup
示例。您可以在上查看一般概念
当然,这个特性也有颤振实现。您可以找到它。赢家!集体晚餐!我编辑了我的问题以显示答案。很高兴你们能把它弄明白,因为我在弗利特并没有任何“操场”来做这件事。我很乐意接受这个答案。
List listItems = await FirebaseFirestore.instance
.collectionGroup('items')
.get()
.then((value) => value.docs);
print('OMG------------ ${listItems[0].documentID.toString()}'); //document ID
print('OMG------------ ${listItems[0].data()['item_name']}'); // specific value within collection