$ elemMatch返回假阳性

时间:2015-04-07 10:16:16

标签: node.js mongodb mongoose

我的查询:

{ 'objects.item.opts1.opts2': { '$elemMatch': [ { name: 'false' } ] } }

返回:数组opts2中包含任何内容的任何项目,即使我将“name”更改为某些不存在的字段,结果也将始终相同

mongoose架构:

var MySchema = new Schema({
    objects: {
        item: {
            opts1: [{
                opts2: [{
                    name:   { type: String },
                }]
            }],      
        },
});

1 个答案:

答案 0 :(得分:4)

在$ elemMatch ....中使用以下wihout数组。

{ 'objects.item.opts1.opts2': { '$elemMatch': { name: 'false' } } }