一些火锅配额的误解

Vla*_*lad 3 firebase google-cloud-firestore

我正计划在firestore中建立db的结构,并且无法理解一些标准点

在此输入图像描述

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

1分

这意味着在集合中复合索引的字段的db总内存大小?

3点

20000是否与文档中的最大字段数相似,因为由于doc,每个字段都会自动编入索引?或者他们的意思是

queryRef
   .where('field1', '<', someNumber1)
   ...
   .where('field20000', '<', someNumber20000);
Run Code Online (Sandbox Code Playgroud)

抱歉我的英语不好

Dan*_*ath 6

第1点

您可以在" 存储大小计算"文档中查看大小的计算方式.

索引条目大小

索引条目的大小是以下内容的总和:

  • 索引文档的文档名称大小
  • 索引字段大小的总和
  • 如果索引是自动索引,则索引文档的集合ID的大小(不适用于复合索引)
  • 另外32个字节

在具有数字ID的Task集合中使用此文档作为示例:

Task id:5730082031140864
 - "type": "Personal"
 - "done": false
 - "priority": 1
Run Code Online (Sandbox Code Playgroud)

如果类型+优先级(均为升序)的复合索引,则此索引中索引条目的总大小为84字节:

  • 文档名称为29个字节
  • 完成字段名称和布尔值的6个字节
  • 优先级字段名称和整数值的17个字节
  • 另外32个字节

第2点

对于单字段索引(我们自动创建的索引),我们为每个字段创建2个索引:升序+降序.

这意味着10000个字段将达到20000索引条目限制,因此10000个字段是当前最大值.如果您还有复合索引,则会减少,因为它将消耗每个文档的20000索引条目限制.