从Firestore中的集合中获取所有文档

时间:2019-10-16 21:25:59

标签: firebase flutter dart google-cloud-firestore

我正在尝试从“ instagram”克隆应用中获取所有帖子。这是我在Firestore中使用的路径:posts > (unique ownerId) > userPosts > (unique postId)

如何使用流生成器检索所有帖子?我尝试用

body:
StreamBuilder<QuerySnapshot>(
          stream: postsRef.snapshots(),
          builder: (context, snapshot) {
            if (!snapshot.hasData) {
              return circularProgress();
            }
            List<Post> posts = snapshot.data.documents.map((doc) =>  Post.fromDocument(doc)).toList();
            return ListView(children: posts);
          },
        )

我只想显示一堆卡片中帖子的图片。

1 个答案:

答案 0 :(得分:0)

您不能在Cloud Firestore中对侦听器使用通配符。您需要在路径中命名特定的文档和集合。因此,如果您的(unique ownerId)在查询时未知,那么您将一无所知。有关其子集合中更改的文档的信息。

作为替代方案,您可以在自己控制的后端上list subcollections创建文档,然后查询这些文档。或者,您可以使用Cloud Functions触发器并在发生更改时通知感兴趣的客户端应用程序(也许通过Cloud Messaging)。