如何将Firebase查询快照“追加”到流中

时间:2019-04-06 14:18:12

标签: android firebase dart flutter google-cloud-firestore

我想知道是否可以将Firebase查询“附加”到flutter中的单个流上。将所有流合并为一个流。

此刻的代码将获取该帐户遵循的所有用户,然后遍历每个用户ID并获取其帖子。我想知道我是否可以将所有这些帖子查询合并到一个主流中

Future<Stream<QuerySnapshot>> getfollowing() async{

    DocumentSnapshot userQuery = await Firestore.instance.collection('Users').document(id).get();//Gets who the user follows
    Stream<QuerySnapshot> fullprofilesdata ;

    for (String user in userQuery["following"]) {
      QuerySnapshot personQuery = await Firestore.instance.collection('Users')
          .document(user).collection("posts")
          .getDocuments();


      //fullprofilesdata.append(personQuery);

    }
    return fullprofilesdata;
  }

1 个答案:

答案 0 :(得分:0)

我正面临着同样的问题,但我认为您的方向正确。您只需更改for循环即可。

您要将相同的QuerySnapshot设置为不同的数据(personQuery)。

而是在循环上方创建一个QuerySnapshot personQuery。

有一种方法可以使用来附加到QuerySnapshot:

personQuery.documents.add();

也不要使用getDocuments(),因为这只会获取数据而不是流。

改为使用snapshot()

希望这会有所帮助:)

祝您好运。