我们现在可以从集合组中检索文档,这很棒。为此,我需要通过 Firebase 控制台上的错误消息创建索引。如何将这个新索引添加到 firestore.indexes.json 文件中?
文档示例:
let museums = db.collectionGroup('landmarks').where('type', '==', 'museum');
museums.get().then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
console.log(doc.id, ' => ', doc.data());
});
});
在索引文件的顶层,添加一个名为 fieldOverrides
的新元素并按如下所示填充它:
{
"fieldOverrides": [
{
"collectionGroup": "landmarks",
"fieldPath": "type",
"indexes": [
{
"order": "ASCENDING",
"queryScope": "COLLECTION"
},
{
"order": "DESCENDING",
"queryScope": "COLLECTION"
},
{
"arrayConfig": "CONTAINS",
"queryScope": "COLLECTION"
},
{
"order": "ASCENDING",
"queryScope": "COLLECTION_GROUP"
}
]
}
]
}
这将保留COLLECTION
范围内landmarks
type
字段的所有默认自动索引,并允许在COLLECTION_GROUP
范围内也使用type
。