繁体   English   中英

如何过滤带有文档 ID 的 stream?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM