【问题标题】:Mongoose query MongoDB, find() object inside an objectMongoose 查询 MongoDB,对象内的 find() 对象
【发布时间】:2020-03-14 22:50:42
【问题描述】:

您好,我在 Mongoose 上有一个 Schema,但里面有一个对象

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”?

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    是的,它会返回 undefined 因为它不知道数组是什么,你可以$unwind他们或使用$elemMatch

    使用$elemeMatch

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

    docs

    【讨论】:

      猜你喜欢
      • 2014-05-13
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      • 1970-01-01
      • 2021-03-03
      • 2013-06-03
      相关资源
      最近更新 更多