【发布时间】:2026-02-07 00:35:01
【问题描述】:
我在我的应用程序中同时使用Firebase Database 和Firestore。我将用户数据(如姓名、电子邮件、uid 等小细节)作为 Users 存储在 firestore 中的集合文档中。它完美地工作。我在 firebase 数据库中创建了一个节点作为 Friends 来存储用户的好友列表。因此,每当用户打开应用程序时,它都会从 firestore 中的 Users 中调用他的信息,并从 firebase 数据库中的 Friends 中调用他的朋友列表。
现在事情是通过这种方式从Firestore 和Firebase database 调用数据。所以这意味着它们是 2 个请求/读取,一个到 Friends 节点,另一个到 Users 集合中的一个文档。我认为如果我将好友列表作为Array 存储在用户文档中会更好。所以我只会在 Firestore 中读取 1。但我认为当他的朋友列表的数组增加 100 多个元素时。还有一两个类似的数组列表。那么从用户集合中检索文档会花费很多时间吗?或不?哪种方法更好?
【问题讨论】:
-
请不要将实时数据库作为链接或图像。如果链接断开,它将使问题无效。将问题中的内容作为一小段文字包含在内。要获取您的 Firebase 结构,请使用 Firebase 控制台->导出 JSON,然后复制并粘贴您的结构的 sn-p。
-
您似乎在询问我们对什么最适合您的应用的意见。如果不了解整个用例,就无法回答。如果您在处理某段代码时遇到困难,那是我们可以提供帮助的。请花点时间查看How do I ask a good question? 和How to create a Minimal, Complete, and Verifiable example
-
也不清楚你为什么使用两个不同的数据库;使用一个将使应用程序更易于维护和控制。所有 Firebase 产品的速度都非常快,从 Firebase 获取信息取决于您的互联网和数据量。但是,这很重要,一般来说,无论您的数据库有 10 个还是 10,000 个文档/节点,如果您检索 10 个,无论数据总量如何,速度都差不多。例如您获取数据的速度并不取决于存储数据的总量,而是取决于您从中获取了多少数据。
-
不清楚要问什么 - 让我解释一下原因。如答案中所述,Firestore 文档的最大大小为 1 MiB。这是可以在文档中的数据量,无论配置如何。例如,这种大小的文档通过快速的互联网连接在 0.083 秒内加载。因此,如果数据较少,它可以缩短 0.002 秒。如您所见,这并不是一个真正具有任何影响的数字。此外,具有 100 个字段的文档什么都不是。请记住 1MiB 的限制。那么真正的问题是什么?你能澄清并提供一个具体的例子吗?
-
哦哦 - 如果您还没有阅读它,请查看来自@dougstevenson top 10 things to know about Firestore 的精彩 Firestore 概述。这与问题有点无关,但您提到了大尺寸数组,并且有一些关于在 Firestore 中组织数据的奇妙指针。
标签: firebase firebase-realtime-database google-cloud-firestore