Essayez de dérouler les LearningNodes
tableau puis comptez-les en les regroupant
db.PedagogyNodes.aggregate([
{
$unwind:"$contentNodes.LearningNodes"
},
{
$group:
{
_id:"$contentNodes.LearningNodes",
count:{$sum:1}
}
}
])
Si vous avez besoin de faire des correspondances, vous pouvez utiliser le $match
étape
db.PedagogyNodes.aggregate([
{
$match:{type:"topic"}
},
{
$unwind:"$contentNodes.LearningNodes"
},
{
$group:
{
_id:"$contentNodes.LearningNodes",
count:{$sum:1}
}
}
])
Répondre à la question modifiée =>
Vous n'avez pas pu afficher la sortie sur la console car mongoshell n'imprime pas la sortie du script à l'écran. Pour ce faire, procédez comme suit :
var result = records.PedagogyVersions.aggregate([......]);
result.forEach(function(resultDoc){
print(tojson(resultDoc))
})