【问题标题】:How to create a Collection of References in Firebase Firestore DB?如何在 Firebase Firestore DB 中创建引用集合?
【发布时间】:2018-06-03 02:36:27
【问题描述】:

我希望有一个文档,其中包含对其他文档的引用集合。就像具有 Users 集合的 Project,但条目是来自顶级 Users 集合的用户的 Reference 类型。

我看不到将Reference 类型添加到集合中的方法,看来您必须先创建Document,然后在该文档中有一个字段作为对用户文档的引用 - 但是这只是增加了额外的工作。

获取集合数据时,首先要获取集合中的Document,然后使用引用字段获取User Document。

拥有一个嵌套的值数组会简单得多。

存储引用集合的最佳方式是什么?

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    引用是一种字段类型,字段必须在文档中。您确实不能将引用直接添加到集合中。但是根据您的描述,我认为这不需要额外的虚拟文件:

    我希望有一个文档,其中包含对其他文档的引用集合。就像具有 Users 集合的 Project,但条目是来自顶级 Users 集合的用户的 Reference 类型。

    听起来您有两个顶级集合:ProjectsUsersProjects 下的文档则有一个nested map of user references

    如果我误解了您的模型,那么确实:您需要创建一个文档来存储您对用户的引用。这是 Firestore 数据模型固有的,无法更改。

    【讨论】:

    • 感谢您的澄清。嵌套数组符合我的要求,我想我现在正在质疑引用类型的点——它只是为了数据完整性吗?在将它集成到我的应用程序(Angular / AngularFire)方面。我必须不断地将 Ref 转换为和 id,然后将 id 转换回 Ref - 我正在考虑只使用字符串 id 而不是 ref 类型,因为 UI 将在一定程度上管理完整性。还有什么其他好处Ref 类型?
    • 抱歉,我对 Reference 类型的研究还不够深入,无法自己找到答案。但是这个问题似乎很好地涵盖了它:What is firestore Reference data type good for?
    猜你喜欢
    • 2021-11-14
    • 2021-02-20
    • 2020-04-07
    • 1970-01-01
    • 2019-09-07
    • 2018-08-06
    • 1970-01-01
    • 2021-05-14
    • 2018-05-31
    相关资源
    最近更新 更多