Javascript 数组\u包含对对象的查询
如果我在集合的每个文档中都有一个名为Javascript 数组\u包含对对象的查询,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,如果我在集合的每个文档中都有一个名为array\u field的字段,它由object类型的元素组成,我可以在对象中查询特定字段吗 是否可以查询在其数组\u字段中有对象且类型为的每个文档 如果不可能,是否可以通过指定确切的对象来查询文档? 我不知道如何编写查询:。where('array\u field','array\u contains',/*我如何定义这个对象*/)。它会是这样的JSON对象:{type:mulge,age:2} 我的目标是实现以下查询: where('array_fiel
array\u field
的字段,它由object
类型的元素组成,我可以在对象中查询特定字段吗
是否可以查询在其数组\u字段中有对象且类型为的每个文档
如果不可能,是否可以通过指定确切的对象来查询文档?
我不知道如何编写查询:。where('array\u field','array\u contains',/*我如何定义这个对象*/)
。它会是这样的JSON对象:{type:mulge,age:2}
我的目标是实现以下查询:
where('array_field', 'array_contains', 'type:fungus')
这将返回document1
和document2
,但我找不到任何关于这种情况的语法提示。对于当前的数据结构,这是不可能的。array_contains仅在匹配数组元素的全部内容时有效,而不仅仅是特定的对象字段
相反,您可以重新构造数据以使用具有唯一类型和布尔值的对象,这样您就可以查询类似types.mulgure==true
:
document
types {
fungus: true
plant: true
}
在nosql数据库中复制数据以满足您需要执行的特定查询是很常见的。这在您当前的数据结构中是不可能的。array_contains仅在匹配数组元素的全部内容时有效,而不仅仅是特定的对象字段
相反,您可以重新构造数据以使用具有唯一类型和布尔值的对象,这样您就可以查询类似types.mulgure==true
:
document
types {
fungus: true
plant: true
}
在nosql数据库中复制数据以适应需要执行的特定查询是很常见的