如何使用查询查询获取查询数组字段存在于文档中的所有文档?
{
name: 'test1',
"array": [
{
"name": "100",
"subArray": [
"arr1"
]
},
{
"name": "200",
"subArray": [
"arr2",
"arr3"
]
}
]
}
如果我在find({})中使用此查询,它不仅会返回好结果:
$and: [
{'array.name': '100'}, {'array.subArray': 'arr1'},
{'array.name': '200'}, {'array.subArray': 'arr2'}
]
答案 0 :(得分:1)
您需要使用$elemMatch
运算符。您的查询应如下所示:
$and: [
{ array: { $elemMatch: { name: '100', subArray: 'arr1' } } },
{ array: { $elemMatch: { name: '200', subArray: 'arr1' } } }
]