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