【问题标题】:How deep we can query in Firestore? [closed]我们可以在 Firestore 中查询多深? [关闭]
【发布时间】:2019-08-16 05:35:50
【问题描述】:

我只是在寻找在 Firestore 上设计数据库的答案。

我有来自根集合的 4 和 5 级别的子集合,在这个级别,聊天系统是否可以轻松应用和查询?

【问题讨论】:

    标签: java android firebase google-cloud-firestore


    【解决方案1】:

    实时数据库有 32 个节点的限制。但是,在 Firestore 中,情况要好得多。根据文档:

    子集合中的文档也可以包含子集合,允许您进一步嵌套数据。您可以嵌套最多 100 层的数据。

    所以限制是 100 级深。您可以在子集合中包含最多 100 个级别的子集合。如果您不知道子集合是如何工作的,这里是另一个引用:

    子集合允许您分层构建数据,使数据更易于访问。

    如果您想了解有关限制或 Firestore 数据模型的更多信息,请查看此处的文档:https://firebase.google.com/docs/firestore/data-model

    至于你的问题:

    我有来自根集合的 4 和 5 级别的子集合,在这个级别,聊天系统是否可以轻松应用和查询?

    是的,您可以查询该信息。当然,使用 Firestore,这些查询非常快。但是您需要考虑到将数据嵌套得太深会影响查询的速度(因为查询的速度甚至没有人会注意到某些东西,它基本上就像皮秒;只有在运行查询基准测试时才能注意到高精度)。请注意,查询速度不取决于请求数据的大小,而是取决于返回数据的大小。

    【讨论】:

      【解决方案2】:

      我们可以在 Firestore 中查询多深?

      您最多可以深度链接 100 个子集合。根据有关usage and limits的官方文档。

      子集合的最大深度:100

      关于:

      我有来自根集合的 4 和 5 级别的子集合,在这个级别,聊天系统是否可以轻松应用和查询?

      请注意,Firestore 在级别 1 上查找集合的速度与在级别 100 上一样快。所以对于一个普通的数据库,深度不应该是技术层面影响速度的因素。所以在你的情况下,没有什么可担心的。

      如果您想拥有一个干净的架构,最好将数据库尽可能扁平化,但如果您的要求是使用嵌套的子集合,您可以继续这样做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-25
        • 2021-02-18
        • 2016-02-29
        • 1970-01-01
        • 2022-11-02
        • 2021-07-18
        • 1970-01-01
        相关资源
        最近更新 更多