【发布时间】:2019-06-19 14:56:11
【问题描述】:
从 documentation Firestore 开始,除其他外,还有以下限制:
每个文档的最大索引条目数:40,000
文档索引条目大小的最大总和:8 MiB
我在理解文档中“文档”的含义时遇到了一些困难。它们是指单个文档,还是特定集合的整套文档?
例如,假设我有一个包含 10,000 个文档的集合,每个文档包含相同的 2 个字段:
Document: `students/00001`
name: "Jeff"
age: 32
Document: `students/00002`
name: "Mary"
age: 28
...
Document: `students/10000`
name: "Anne"
age: 45
根据文档,Firestore 将为每个字段按升序创建一个索引,并为每个字段按降序创建一个索引。因此,每个文档都有 4 个索引,而整个文档集合只有这 4 个索引,因为它们都具有相同的字段。
一切都好。
但是,现在假设我有一个集合,其中还包含 10,000 个文档,但是每个文档包含 2 个始终彼此不同的字段:
Document: `students/00001`
B2DcG6g9w: true
YwY3g642D: true
Document: `students/00002`
A3h7k3e6B: true
w2Fh0j1g8: true
...
Document: `students/10000`
8n4545f7k: true
j2hle4oOp: true
Firestore 将按升序为每个字段创建一个索引,并按降序为每个字段再创建一个索引。因此,我们将每个文档只有 4 个索引。但由于每个文档的索引不同,我们将集合中的所有文档共有 40,000 个索引。
问题:我是否达到了 40,000 个索引限制?这种限制真的是文档还是集合?
【问题讨论】:
标签: firebase indexing google-cloud-firestore database-indexes