当前位置: 首页 > 知识库问答 >
问题:

具有CollectionGroupQuery的子集合中的Firestore写入限制

江睿
2023-03-14

继我上一篇文章之后,我了解了个人收藏的写作限制

每秒500次写入一个收藏

这个500ps的限制如何适用于最近引入的集合组?(btw...托德在这里没有得到足够大的欢呼!: P)

https://firebase.google.com/docs/firestore/query-data/queries#collection-组查询

Firestore限制仍然仅引用单个集合:

https://firebase.google.com/docs/firestore/quotas

文档在索引字段中包含顺序值的集合的最大写入速率:每秒500

Dan McGrath在我之前的帖子中说,这是因为为单个集合编制索引

将受到单个服务器可以处理的负载的限制。

示例数据模型:

  • 收藏:用户
  • Doc: userId1
  • 子集合:帖子
  • doc: postId1(postId,img,标题,日期的字段)

如果我为posts创建CollectionGroup索引(查询所有称为“posts”的子集合)-按日期降序

我对所有这些子集合的写入限制是否会从每秒10k降至每秒500?如何处理CollectionGroup索引?由同一个“单独的服务器”?

如果是这样...这本质上意味着从写入限制的角度来看,将这些“帖子”放在单独的子集合中与单个根级别集合相比没有任何好处。


共有1个答案

孟晋
2023-03-14

在Firebase Google Group上询问-答案是肯定的,如果您开始使用CollectionGroupQuery对子集合进行索引,则子集合中每秒的写入次数限制为500次

https://groups.google.com/forum/#!主题/Firebase-talk/7Raajf8KWg4

与Cloud Firestore的许多限制一样,这个限制基于我们索引数据和保持强一致性的能力。所以是的:如果您在“日期”上有一个CollectionGroup索引,并且您的日期字段具有连续值,则“发布”文档更新的写入速率不应超过500QPS。

 类似资料:
  • 这是我的数据库结构。 城市->地标->景点(每一个都是一个集合) 查询 列出特定城市下的所有景点。

  • 我正在从Firebase实时数据库切换到云Firestore。我的数据库包含拥有存储的用户,每个存储都包含盒子。每个用户都可以拥有多个包含盒子的存储器。每个存储可以包含几个盒子。每个箱子只能放在一个仓库里。 在我应用程序的主视图中,对于该特定用户,我需要列出所有存储以及每个存储中的框,如下所示: 然后,用户应该能够点击每个框以查看内容和更多信息。 在Firebase实时数据库中,每个用户只需一个请

  • 我的FiRecovery数据库中有一个名为Reports的集合,我已经在其中添加了文档。但我现在的问题是我想在报表中添加一个带有子集合的文档,有什么想法吗?

  • 据我所知,我可以使用云函数以某种方式实现这一点?我试着阅读云函数,但我很迷路。是否有一种方法可以触发云函数,在用户更新帖子时删除子集合中的所有文档?

  • 我正在使用Firebase Firestore作为BaaS构建一个应用程序。 但当我尝试在我的应用程序上创建提要/实现全文搜索时,我面临一个问题。 我希望能够搜索所有用户的帖子,问题是,用户帖子在Firestore数据库中的结构如下: 帖子(收藏)- 我想遍历每个用户的用户帖子子集合并获取提要的所有数据,并使用Algolia或ES等全文搜索应用程序来实现它。 > 我可以遍历特定的用户ID(代码如下

  • 我正在尝试为firestore中的社交媒体应用程序组织数据。为帖子创建一个新集合或将其放入用户的子集合更好吗? 深度应该是一样的,但是一种方式比另一种方式有什么优势吗? 创建新集合: 职位(集合) 用户(集合) 用户中的子集合: 用户(集合)