आप $unwind . का उपयोग करके इसे प्राप्त कर सकते हैं और फिर एक $group $push . के साथ , इस तरह:
db.pitcrewdb.aggregate([
{
"$match": {
"run_number": "1",
"frames.frame_number": {
"$gte": 2
}
}
},
{
"$project": {
"_id": 0
}
},
{
"$unwind": "$frames"
},
{
"$match": {
"frames.frame_number": {
"$gte": 2
}
}
},
{
"$group": {
"_id": "$run_number",
"frames": {
"$push": "$frames"
}
}
}
])
$unwind आपकी सरणी को नष्ट कर देगा और फिर आप परिणामों को फ़िल्टर करेंगे और $group . के बाद उन्हें फिर से
या आप इसे $filter . का उपयोग करके भी कर सकते हैं
db.pitcrewdb.aggregate([
{
"$match": {
"run_number": "1"
}
},
{
"$project": {
"_id": 0,
"frames": {
$filter: {
input: "$frames",
as: "frame",
cond: {
$gte: [
"$$frame.frame_number",
2
]
}
}
}
}
}
])