आप $reduce
का इस्तेमाल कर सकते हैं
और $concatArrays
करने के लिए "मर्ज" एक सूची में एक आंतरिक "सरणी की सरणी" और $आकार
उसका। फिर बस $add
दो परिणाम एक साथ:
db.posts.aggregate([
{ "$match": { _id:ObjectId("5dbdacc28cffef0b94580dbd") } },
{ "$addFields": {
"totalBoth": {
"$add": [
{ "$size": "$comments" },
{ "$size": {
"$reduce": {
"input": "$comments.replies",
"initialValue": [],
"in": {
"$concatArrays": [ "$$value", "$$this" ]
}
}
}}
]
}
}}
])
यह देखते हुए कि "सरणी की सरणी" $comments.replies
जैसे व्यंजक का प्रभाव है , इसलिए इन्हें एक एकल सरणी में बनाने का ऑपरेशन जहां आप सभी तत्वों को माप सकते हैं।