使用CollectionGroupQuery

时间:2019-06-14 23:05:09

标签: firebase google-cloud-firestore

在我之前的帖子中了解了有关单个集合的写限制的信息

Firestore 500+ Writes Per Second to One Collection

此500ps限制如何应用于最近引入的 CollectionGroup ? (btw ... Todd didn't get a loud enough cheer here!:P)

https://firebase.google.com/docs/firestore/query-data/queries#collection-group-query

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

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

  

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

Dan McGrath在我以前的帖子中说,这是因为为个人 Collections

编制索引
  

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

示例数据模型:

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

如果我为CollectionGroup创建一个posts索引(查询称为“帖子”的所有子集合)- 通过date

订购 DESCENDING

我对所有这些子集合的写入限制是否将从每秒10k降低到每秒500?如何处理CollectionGroup索引?通过同一台“个人服务器”?

如果是这样……从本质上讲,从写限制的角度来看,将这些“帖子”放在一个单独的子集合中相对于一个单独的根级别集合没有好处。

1 个答案:

答案 0 :(得分:0)

在Firebase Google网上论坛上问-答案是肯定的,如果您开始使用CollectionGroupQuery对它们进行索引,则每秒只能记录500次子集合

https://groups.google.com/forum/#!topic/firebase-talk/7Raajf8KWg4

  

与Cloud Firestore的许多限制一样,此限制基于我们对数据建立索引并保持强一致性的能力。所以可以:如果您在“日期”上具有CollectionGroup索引,并且您的日期字段具有顺序值,则“帖子”文档更新的写入速率不应超过500QPS。