【问题标题】:Flutter and Firebase - Get Specific Documents From FirebaseFlutter 和 Firebase - 从 Firebase 获取特定文档
【发布时间】:2020-11-05 06:17:51
【问题描述】:

当您进入帖子集合时,会有基于 userId 的文档。在文档内部有一个名为 userPosts 的新集合。在用户帖子中,您可以找到 postId 和有关帖子的详细信息。

我可以使用此代码获取特定用户的帖子

postRef = Firestore.instance.collection('posts');

QuerySnapshot snapshot = await postRef
        .document(userId)
        .collection('userPosts')
        .getDocuments();

但我想在不指定特定用户的情况下获取所有用户帖子。我怎样才能做到这一点?

【问题讨论】:

    标签: firebase flutter google-cloud-firestore


    【解决方案1】:

    您可以使用collection group query 在所有同名集合中查询文档。

    QuerySnapshot snapshot = await Firestore.instance
            .collectionGroup('userPosts')
            .getDocuments();
    

    【讨论】:

    • 感谢您的回复。但我收到了这个错误。 没有为“CollectionReference”类型定义方法“collectionGroup”。尝试将名称更正为现有方法的名称,或定义名为“collectionGroup”的方法。
    • 更新了答案。
    • 我还有一个问题。我使用您的代码获得了所有文件。但是如果我想过滤这些文档怎么办,例如在帖子中有一个名为状态的属性。我想获取所有状态为假的文件。我使用了这段代码`QuerySnapshot snapshot = await Firestore.instance .collectionGroup('userPosts').where("status", isEqualTo: false) .getDocuments(); ` .好像这段代码不起作用?对此有什么想法吗?
    • 如果您有新问题,请单独发布,并说明哪些问题没有按照您的预期工作。
    • link 这是问题所在。好像您已经在这个问题中添加了一些 cmets。但是这个问题没有正确的答案。
    猜你喜欢
    • 2020-09-20
    • 2021-07-04
    • 2022-10-15
    • 2021-06-23
    • 2021-02-01
    • 2021-07-10
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多