【问题标题】:Firestore: Get all items from a 'sub' collection where id = xFirestore:从 id = x 的“子”集合中获取所有项目
【发布时间】:2018-08-13 12:44:30
【问题描述】:

我正在为后端数据库使用 cloud firestore,因为我对它不太熟悉。我有点卡在下面的问题上。

数据库设置: Messages (collection) -> itemId (doc) -> itemMessages (collection) -> Message (doc) -> 带有 (message, xId, yId) 的消息数据

我的问题是.. 我如何查询所有 itemMessages 的 itemId where xid = 1?

或者有更好的数据库设置解决方案吗?我检查了文档,但在示例中这些文档不是“子”集合。

【问题讨论】:

    标签: angularjs firebase google-cloud-firestore


    【解决方案1】:

    [Firebaser here] 无法跨子集合进行查询,这意味着如果您想查找属于与您的查询匹配的任何“item”的所有 itemMessage,您无法做到这一点。

    您可以像这样查询特定的子集合:

    db.collection("Messages")
      .doc("someItemId")
      .collection("itemMessages")
      .where("xid", "==", "foobar")
    

    跨子集合查询的功能是我们将来肯定想要做的,但它不会在短期内出现,所以如果你现在需要,我会建议一个不同的数据库结构。

    【讨论】:

    • 好的,很高兴知道,但我可以轻松解决这个“限制”。像这样它工作!谢谢。
    猜你喜欢
    • 2021-11-04
    • 1970-01-01
    • 2021-09-18
    • 2018-06-23
    • 2021-02-16
    • 2018-04-03
    相关资源
    最近更新 更多