चूंकि आप $unwind
. का उपयोग कर रहे हैं आप $match
. जोड़कर इसे आसानी से कर सकते हैं अभिव्यक्ति के बाद से:"inquiries.routeHistory.status": "ended"
true
लौटाएगा अगर कोई कोई है routeHistory
में दस्तावेज़ ऐसी स्थिति होना:
db.collection.aggregate([
{
$unwind: "$inquiries"
},
{
$match: {
"inquiries.routeHistory.status": "ended"
}
},
{
$addFields: {
"inquiries.routeHistory": {
$filter: {
input: "$inquiries.routeHistory",
cond: {
$eq: [ { $max: "$inquiries.routeHistory.routeDate" }, "$$this.routeDate" ]
}
}
}
}
},
{
$group: {
_id: "$_id",
callId: { $first: "$callId" },
caller: { $first: "$caller" },
inquiries: { $push: "$inquiries" }
}
}
])