我的查询:
{ 'objects.item.opts1.opts2': { '$elemMatch': [ { name: 'false' } ] } }
返回:数组opts2中包含任何内容的任何项目,即使我将“name”更改为某些不存在的字段,结果也将始终相同
mongoose架构:
var MySchema = new Schema({
objects: {
item: {
opts1: [{
opts2: [{
name: { type: String },
}]
}],
},
});
答案 0 :(得分:4)
在$ elemMatch ....中使用以下wihout数组。
{ 'objects.item.opts1.opts2': { '$elemMatch': { name: 'false' } } }