[英]How can I filter a stream with document ids?
如何使用 user/uid/usergroups 中的文档 ID 过滤组/集合中的文档?
我想使用存储在 user/uid/usergroups 中的文档 ID 过滤组/,以仅向用户显示存储在他的用户配置文件中的组。
我没有收到有关此代码的错误消息,但我没有看到任何组....
Stream<QuerySnapshot> get userGroupIDs {
return userGroupCollection.document(uid).collection('usergroups').snapshots();
}
Stream<QuerySnapshot> get group {
return db.collection('groups').where('GroupID', isEqualTo: userGroupIDs).snapshots();
}
.
StreamBuilder<QuerySnapshot>(
stream: group,
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) {
return new Text('Connecting...',style: TextStyle(fontSize: 200),);
} else {return ListView.builder(
尝试以下操作:
Stream<QuerySnapshot> userGroupIDs() async*{
String docId;
Stream<QuerySnapshot> snap = Firestore.instance.collection("users").document("uid").collection('usergroups').snapshots();
await for(var snapData in snap){
snapData.documents.forEach((docResult){
docId = docResult.documentID;
});
}
yield* Firestore.instance.collection('groups').where('GroupID', isEqualTo: docId).snapshots();
}
然后在StreamBuilder
里面:
StreamBuilder<QuerySnapshot>(
stream: userGroupIDs(),
首先从集合usergroups
中获取documentID
,然后在查询中使用该 id 和GroupID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.