描述:
我希望当数组中的所有对象都匹配条件时,只返回结果。现在,如果数组中至少有一个条件匹配,则会返回该对象。
如果您对此问题有更多疑问,请随时提出!
输入:
[
{
"_id":"4",
"intends":[
{
"_id":"1",
"status":"Packed"
},
{
"_id":"2",
"status":"Packed"
}
]
},
{
"_id":"5",
"intends":[
{
"_id":"3",
"status":"Packed"
},
{
"_id":"4",
"status":"Created"
}
]
}
]
当前输出:
[
{
"_id":"4",
"intends":[
{
"_id":"1",
"status":"Packed"
},
{
"_id":"2",
"status":"Packed"
}
]
},
{
"_id":"5",
"intends":[
{
"_id":"3",
"status":"Packed"
},
{
"_id":"4",
"status":"Created"
}
]
}
]
预期输出:
[
{
"_id":"4",
"intends":[
{
"_id":"1",
"status":"Packed"
},
{
"_id":"2",
"status":"Packed"
}
]
}
]
我尝试过:
db.collection.find({intends.status: "Packed"})
db.collection.find({intends: {$elemMatch: {status: "Packed"}}})