当前位置: 首页 > 知识库问答 >
问题:

查询Flutter中嵌套集合中的FiRecovery文档

朱博实
2023-03-14

是否可以在Firestore中查询嵌套文档,而不向提供参数。get()方法?我想通过循环所有用户ID并获取所有用户帖子来获取所有用户创建的所有帖子。

下面是我使用的代码

谢谢。

getAllPosts() {
    final CollectionReference postsRef = FirebaseFirestore.instance
        .collection("posts");
    var allPosts = postsRef.get().then((value) =>
        value.docs.forEach((snapshot) {
          var userPostsRef = postsRef.doc(snapshot.id);
              var subCollection = userPostsRef.collection("userPosts").get();
              print("subCollection $subCollection");
        })

    );
    print("allPosts $allPosts");

  }

print(“subCollection $subCollection”);不会在主机上显示任何内容。print(“allPosts $allPosts”);在控制台上显示“未来”的实例。

Firestore结构:

帖子 -

共有1个答案

鲜于宏义
2023-03-14

您正在寻找集合组查询。

FirebaseFirestore.instance
  .collectionGroup('userPosts')
  .get((snpashot) {
    print(snapshot.size)
  });

这将从所有名为“userPosts”的子集合中获取所有文档,即从所有用户文档中获取userPosts。然后,如果需要,您可以稍后使用 Dart 按用户 ID 过滤它们。

 类似资料:
  • 问题内容: 我想使用ES进行图书搜索。因此,我决定将作者姓名和标题(作为嵌套文档)放入索引,如下所示: 我不明白的是:如何构造搜索查询,以便在搜索“一二”时仅找到第二本书,而在搜索“二三”时什么也找不到,而在搜索“一”时所有图书呢? 问题答案: 也许是这样的? 该查询基本上说一个文件必须有and 。您可以轻松地重新配置该查询。例如,如果您只想搜索作者,请删除嵌套部分。如果您想要另一本书,请更改嵌套

  • 我有一个不那么独特的需求,但我只是找到了正确的术语来搜索,因为我只得到如何查询列表/数组字段或嵌套元素的结果。 提前感谢所有的帮助。

  • 我的云Firestore数据库中有以下规则: 这个想法是,如果你拥有一个性能,你可以读写它;如果你登录,你可以创建一个性能。 此查询工作正常: 但是,如果我想获取'场景'子集合的内容,我会收到一个错误:"com.google.firebase.firestore.FirebaseFirestoreException:PERMISSION_DENIED:缺少或权限不足。"这是与以下查询: 我假设我需

  • 我是《颤栗》和《火种》的新手。 我有一个名为“菜肴”的集合,其中我有许多文档(例如名称、描述等),我还有一个名为成分的子集合,其中我有作为文档的id、名称和数量。 我要做的是取回所有含有配料的菜肴。 我有一个模型 IngredientModel模型 DishHelper 餐具供应商 主要我写了 和在家中(在构建方法中) 但是如果我尝试打印<code>打印(dishProvider.disks)我获

  • 我试图查询与特定用户至少有一种共同颜色的所有用户,我已经能够做到这一点,但是我无法弄清楚如何我的结果,以便我可以得到一个用户以及他们共有的颜色。 我的示例用户文档的一部分如下: 这是我的查询,用于获取与另一个具有红色、橙色和绿色的用户相同的颜色: 如何使用共同的颜色聚合用户?

  • 问题内容: 我在获取与Elasticsearch一起使用的嵌套查询时遇到问题(如果我删除了查询字符串之一,则可以使用)。我要解决的问题是我有一个包含关闭列表的文档(关闭)。我想在条件满足另一个值的闭包列表中搜索一个值。那只是从argan = 1的闭包中获得价值 我正在得到这个错误响应; 我的映射如下所示。 有人知道我在做什么错吗? 问题答案: 您的查询不是有效的查询。您需要使用适当的复合查询将其他