Firebase 从Firestore加载一份繁重的文档需要很多时间吗?

Firebase 从Firestore加载一份繁重的文档需要很多时间吗?,firebase,firebase-realtime-database,google-cloud-firestore,Firebase,Firebase Realtime Database,Google Cloud Firestore,我正在我的应用程序中使用Firebase数据库和Firestore。我以firestore中的用户身份在集合文档中存储用户数据,如姓名、电子邮件、uid等小细节。它工作得很好。我在firebase数据库中创建了一个作为好友的节点来存储用户的好友列表。所以,每当用户打开应用程序时,它都会从firestore的用户中调用他的信息,并从firebase数据库的朋友中调用他的朋友列表 现在事情是这样的,它从Firestore和Firebase数据库调用数据。因此,这意味着它们是2个请求/读取,一个发送到

我正在我的应用程序中使用
Firebase数据库
Firestore
。我以firestore中的用户身份在集合文档中存储用户数据,如姓名、电子邮件、uid等小细节。它工作得很好。我在firebase数据库中创建了一个作为好友的节点来存储用户的好友列表。所以,每当用户打开应用程序时,它都会从firestore的用户中调用他的信息,并从firebase数据库的朋友中调用他的朋友列表

现在事情是这样的,它从
Firestore
Firebase数据库
调用数据。因此,这意味着它们是2个请求/读取,一个发送到Friends节点,另一个发送到Users集合中的文档。我认为如果我将好友列表存储在用户文档中作为一个
数组
会更好。因此,我只能在Firestore中读取1。但我认为当他的好友列表数组增加100+个元素时。还有一个或两个类似的数组列表。那么从用户集合中检索文档会花费很多时间吗?还是不?哪种方法更好

以下是我当前数据库结构的图像。

根据,文档的最大大小为1 MiB

这意味着只要您的
用户
文档不超过大小限制,您就可以将
朋友
数据存储在数组中而不会出现问题


如果您计划超过阈值,您可能需要寻找其他选项,如创建子集合,以更好地扩展,因为子集合的大小不会以任何方式影响父文档的大小。

请不要将实时数据库作为链接或图像包含在内。如果链接中断,则问题将无效。将问题中的内容作为一小段文字包含在内。要获取您的Firebase结构,请使用Firebase控制台->导出JSON,然后复制并粘贴一个结构片段。您似乎在征求我们对您的应用程序的最佳意见。如果不了解整个用例,就不可能回答。如果您在使用某段代码时遇到困难,我们可以提供帮助。请花点时间回顾一下,也不清楚为什么要使用两个不同的数据库;使用一个应用程序将使应用程序更易于维护和控制。所有Firebase产品都非常快速,从Firebase获取信息取决于您的互联网和数据量。但是,这一点很重要,一般来说,无论您的数据库有10个文档/节点还是10000个文档/节点,如果您检索10个文档/节点,则无论数据总量如何,其速度都大致相同。e、 g.获取数据的速度并不取决于存储的数据总量,而是取决于从中获取的数据量。是的@Jay,你是对的,速度取决于我们从服务器调用了多少数据,而不是存储了多少数据,但在这里,当我调用文档时,它将检索整个数据/字段,这就是问题所在。文档大小是否会降低从firestore下载数据的速度。我使用这两个数据库,因为有一个聊天功能,如果我使用实时数据库,成本更低,速度更快。我将好友列表存储在firebase db中,因为它发送好友请求的速度非常快,否则使用Firestore需要一秒钟。但现在我想回到firestore,如果你还没有读过,请看看@dougstevenson的精彩firestore概览。这与问题有点无关,但是你提到了大尺寸数组,并且有一些关于在Firestore中组织数据的妙招。嘿@Farid,我不怕文档的大小。我说的是速度。如果我的文档变得更大,那么它是否会以相同的速度检索呢!较小的文档检索速度更快吗?或者,如果我对一个文档进行子集合,它不是2次读取吗?一次读取父文档,另一次读取子文档?如果不是,那么检索父文档是否会很繁重?