आप नीचे एकत्रीकरण क्वेरी का उपयोग कर सकते हैं।
आरंभिक $group
$push
. के दौरान कुल गिनती की गणना करने के लिए अवधारणा क्षेत्र सरणी क्षेत्र में। $$ROOT
संपूर्ण दस्तावेज़ तक पहुँचने के लिए।
लेखों की कुल संख्या को अगले $group
. में बनाए रखें ।
बाकी सब वैसे ही रहता है जैसे आप हैं।
db.articles.aggregate([
{"$group":{
"_id":null,
"totalArticles":{"$sum":1},
"concepts":{"$push":"$$ROOT.concepts"}
}},
{"$unwind":"$concepts"},
{"$group":{
"_id":"$concepts.text",
"totalArticles":{"$first":"$totalArticles"},
"count":{"$sum":1},
"average":{"$avg":"$concepts.relevance"}
}},
{"$project":{
"count": "$count",
"percent": {
"$divide": [ "$count", "$totalArticles" ]
}
}
},
{"$sort": {"count": -1}}
])
$facets
यह भी एक विकल्प है जहां आप दो अलग-अलग पाइपलाइनों में दो क्वेरी कर सकते हैं और उसके बाद बाकी चरणों के साथ जारी रखने के लिए मर्ज कर सकते हैं।