android - 如何 “append” Firebase查询快照到流

标签 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;
  }

最佳答案

我正面临着同样的问题,但我认为您的方向正确。您只需更改for循环即可。
您正在将相同的QuerySnapshot设置为不同的数据(personQuery)。
而是在循环上方创建一个QuerySnapshot personQuery。
有一种方法可以通过使用追加到QuerySnapshot:

personQuery.documents.add();
也不要使用getDocuments(),因为这只会获取数据而不是流。
请改用snapshot()
希望这会有所帮助:)
祝大家编码好。

关于android - 如何 “append” Firebase查询快照到流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55549977/

相关文章:

android - 通过自定义键盘在 EditText 中输入文本

java - 演示者中的 rxJava2 CompositeDisposable

android - 构建 gradle 时出错 - com.google.android.gms :play-services-basement is being requested by various other libraries

firebase - 了解 Firestore 定价

javascript - 用于电子邮件验证的 firebase-ui

flutter - Flutter无效值:不在包含范围内

android - setAlarmClock() 在打瞌睡模式下触发得太晚

android - Flutter aduioplayers MissingPluginException(未在 channel xyz.luan/audioplayers 上找到方法 startHeadlessService 的实现)

dart - 如何在 Dart 中使用不同的核心图标图标集?

Android TelephonyManager 不适用于 android studio 模拟器?