Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组\u包含对对象的查询_Javascript_Firebase_Google Cloud Firestore - Fatal编程技术网

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数据库中复制数据以适应需要执行的特定查询是很常见的