Försök att varva ner LearningNodes
array och sedan räkna dem genom att gruppera dem tillsammans
db.PedagogyNodes.aggregate([
{
$unwind:"$contentNodes.LearningNodes"
},
{
$group:
{
_id:"$contentNodes.LearningNodes",
count:{$sum:1}
}
}
])
Om du behöver göra några matchningar kan du använda $match
skede
db.PedagogyNodes.aggregate([
{
$match:{type:"topic"}
},
{
$unwind:"$contentNodes.LearningNodes"
},
{
$group:
{
_id:"$contentNodes.LearningNodes",
count:{$sum:1}
}
}
])
Svarar på den redigerade frågan =>
Du kunde inte se utdata på konsolen eftersom mongoshell inte skriver ut skriptutdata på skärmen. För att göra detta, gör följande:
var result = records.PedagogyVersions.aggregate([......]);
result.forEach(function(resultDoc){
print(tojson(resultDoc))
})