簡體   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