Google cloud firestore 有没有一种方法可以定义在所有集合中的firestore中从未被索引的单个字段
我知道索引在firestore中是有成本的。大多数时候,我们只是简单地存储对象,而不真正关心索引,即使我们不希望大多数字段被索引 如果我理解正确,任何级别的任何字段都会被索引。即,对于以下伪json文档Google cloud firestore 有没有一种方法可以定义在所有集合中的firestore中从未被索引的单个字段,google-cloud-firestore,Google Cloud Firestore,我知道索引在firestore中是有成本的。大多数时候,我们只是简单地存储对象,而不真正关心索引,即使我们不希望大多数字段被索引 如果我理解正确,任何级别的任何字段都会被索引。即,对于以下伪json文档 { "root_field1": "abc" (indexed) "root_field2": "def" (indexed) "root_field3": { "
{
"root_field1": "abc" (indexed)
"root_field2": "def" (indexed)
"root_field3": {
"Sub_field1: "ghi" (indexed)
"sub_field2: "jkl" (indexed)
"sub_field3: {
"Inner_field1: "mno" (indexed)
"Inner_field2: "pqr" (indexed)
}
}
让我们假设我有以下记录
{
"name": "abc"
"birthdate": "2000-01-01"
"gender": "m"
}
假设我只想对字段“name”进行索引。一种解决方案(A),不必指定每个字段,就是这样定义它(即将根字段移动到子级别未索引
),并从索引中排除未索引
{
"name": "abc"
"unindexed" {
"birthdate": "2000-01-01"
"gender": "m"
}
理想情况下,我只想指定一个前缀,如\uuu
,以防止每个字段被索引,但没有全局解决方案
{
"name": "abc"
"_birthdate": "2000-01-01"
"_gender": "m"
}
我的解决方案(A)正确吗?是否有更优雅的通用解决方案?
谢谢 根据文件 添加单个字段索引豁免 单字段索引豁免允许您覆盖自动索引 集合中特定字段的设置。您可以添加一个 控制台的单字段豁免:
谢谢这就是我在解决方案A中提出的(一个名为“未索引”的顶级字段,其中包含子对象)。如果我有100个字段和多个集合ID的对象呢?必须为每个集合定义每个字段是一件痛苦的事情,所以我想知道是否有更通用的解决方案