【问题标题】:How can I find a specific but deep buried document in Firestore without knowing the collection/documet name?如何在不知道集合/文档名称的情况下在 Firestore 中找到特定但深埋的文档?
【发布时间】:2021-01-29 22:47:55
【问题描述】:

我在使用 Firestore 时遇到了一些问题,希望您能提供帮助。

所以我设置了我的 Firestore,如下所示:

我有一个“Users”集合,其中包含一堆名为“User1”和“User2”等的文档。

在每个文档中都有另一个名为“Houses”的集合

这里面有一堆文件叫做“House1”和“House2”等等。

这些都包含相同的 fieldNames 但具有唯一的 fieldValues。

所以我的问题是,假设我知道其中一个 House 文档中有 fieldValue“WaterHouse”,但我不知道在哪个 User 文档和 House 文档中。然后,我如何解析所有用户文档和 House 文档并获取包含 fieldValue“WaterHouse”的文档?

【问题讨论】:

    标签: ios firebase google-cloud-firestore


    【解决方案1】:

    您需要知道要搜索的集合的名称。如果不知道集合名称,就无法找到文档。

    但您不需要知道集合的整个路径。因此,如果您知道 Houses 中存在什么文档,但不知道它在哪个 Users 文档下,则可以使用 Collection Group Query 搜索所有名为 Houses 的集合。

    【讨论】:

    • 所以为了确保我理解正确,如果我知道房屋文件的名称,我可以找出用户文件的名称吗? @Frank van Puffelen
    • 是的,从你返回的QueryResult,你得到一个DocumentSnapshot,然后你可以docSnapshot.reference.parent.parent得到该文档所在子集合的父文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2018-12-10
    • 2020-10-23
    • 2021-11-10
    • 1970-01-01
    相关资源
    最近更新 更多