问题描述
这是我的猫鼬代码
var agentSchema = new Schema({
datejoined: Date,product: [{
fleet: String,payment: String,
}] }) 我想从满足条件支付等于完成的数组产品中获取对象
Agent.find({ _id: id,product: { $elemmatch: { payment: 'Done' } } })
我试过这种方法
Agent.findone({ _id: id}).select( product: { $elemmatch: { payment: 'Done' } } }))
解决方法
Agent.aggregate([{ $match: { _id: ObjectId(id) } },{ $unwind: "$product" },{
$match: { 'product.payment': "Done" },},]).then(prod => {
我可以用这个代码解决我自己的问题