我在使用 Firestore 时遇到了许多限制:
not-in
not-in
与 in
、array-contains-any
或 or
组合所以我基本上考虑改变数据结构并使用地图,因为它们可以通过
field[key]
查询。
每个文档的关键
field
不是动态的,但地图的每个 key
是动态的。
这是我的结构示例:
// the collection
animals
// the document (random id)
dog
// the field (a map value)
food: {
key1: value1
key2: value2
key3: value3
}
查询应回答的问题是: “给我每条不存在特定值的记录并且(其他约束)”
因此,我正在考虑更改该项目的堆栈。
所有 Firestore 查询都基于对用于查询的索引中存在的文档的引用。
如果文档的某个字段没有值,则该字段不会出现在该字段的索引中。
这意味着您无法查询没有您要查询的字段值的文档。