我想知道使用.where
后是否有一种获取子集合的方法这是我的数据库格式
Firestore.instance.collection("Users")
.where("followers", arrayContains: id) //id is the users id
//He i want to get the collection of posts that the particular user has posted
答案 0 :(得分:1)
子集合在单个文档下,而查询则标识一组文档。如果您知道查询仅标识一个文档,则Firestore客户端不知道,即使可以,也不知道该文档的完整路径。
首先需要执行查询,然后获取单个文档,然后可以获取每个文档的子集合。
答案 1 :(得分:0)
我想做类似的事情-
事件-> widget.mydatahere(文档)-> eventFood(子集合)-> selectedFood(子集合中的文档)-> selectedFoodRecipe(foodRecipe的值)。
这将使其正常工作,但是,这里的问题是,即使setstate,也不会更新ui,控制台日志正常,但是ui不会更新。
Future<String> loadmyFoodItem() async {
await Firestore.instance
.collection('Events')
.where("eventName", isEqualTo: widget.mydatahere)
.getDocuments()
.then((onValue){
onValue.documents.forEach((f){
Firestore.instance.collection('Events').document(f.documentID)
.collection('eventFood')
.where('foodName', isEqualTo: selectedFood)
.getDocuments()
.then((querySnapshot){
querySnapshot.documents.forEach((result){
selectedFoodRecipe = result.data['foodRecipe'];
print("selectedFoodRecipe $selectedFoodRecipe");
});
});
});
});
return 'ready';
}