我需要从满足某些条件的对象数组中找到对象
i need to find objects from array of object which satisfy some condition
这是我的猫鼬代码
var agentSchema = new Schema({
datejoined: Date,
,
product: [{
fleet: String,
payment: String,
}]
})
我想从满足条件 payment equals done
的数组产品中获取对象
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 => {
我能够用这段代码解决我自己的问题
这是我的猫鼬代码
var agentSchema = new Schema({
datejoined: Date,
,
product: [{
fleet: String,
payment: String,
}] }) 我想从满足条件 payment equals done
的数组产品中获取对象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 => {
我能够用这段代码解决我自己的问题