猫鼬查询MongoDB,对象内部的find()对象

时间:2019-11-19 12:03:16

标签: node.js mongodb mongoose

你好,我在猫鼬上有一个架构,但是里面有and对象

const TrajesDeBano = new Schema({
    modelo:{type:String, required: true},
    tipo:{type:String, required:true},
    talla:[{
        s:{type:Number, required: true},
        m:{type:Number, required: true},
        l:{type:Number, required: true}
    }],
    precio:{type:Number, required: true}
});

当我执行回调以调用“ talla”时会返回一个对象

traje.findOne({'modelo':modelo}, function(err, trajeEncontrado){
      console.log(trajeEncontrado.talla)
});

[{_id:5dd177918c7f021e4cab7e20,s:15,m:30,l:25}]

现在我想打电话给每个“ talla”单身人士,但要查询 trajeEncontrado.talla.s 返回未定义。我怎么能只找到塔拉“ S”?

1 个答案:

答案 0 :(得分:0)

是的,因为它不知道数组是什么,所以它将返回undefined,您可以$unwind或使用$elemMatch

使用$elemeMatch

Model.find({ modelo: 'Your Modelo', talla: { $elemMatch: { s: 2 } } })

请参见docs