आप नीचे एकत्रीकरण का प्रयास कर सकते हैं
मूल रूप से आपको $map
एकत्रीकरण और अंत में $filter
का उपयोग करें
पिछले वाले के साथ।
db.collection.aggregate([
{ "$project": {
"array1": {
"$map": {
"input": "$array1",
"as": "a1",
"in": {
"array2": {
"$map": {
"input": "$$a1.array2",
"as": "a2",
"in": {
"array3": {
"$filter": {
"input": "$$a2.array3",
"as": "a3",
"cond": { "$lte": ["$$a3.sampleId", 2] }
}
}
}
}
}
}
}
}
}}
])
आउटपुट
[
{
"array1": [
{
"array2": [
{
"array3": [
{
"sampleId": 1
},
{
"sampleId": 2
}
]
},
{
"array3": []
}
]
},
{
"array2": [
{
"array3": [
{
"sampleId": 1
}
]
}
]
}
]
}
]