LearningNodes
をほどいてみてください 配列してから、グループ化してカウントします
db.PedagogyNodes.aggregate([
{
$unwind:"$contentNodes.LearningNodes"
},
{
$group:
{
_id:"$contentNodes.LearningNodes",
count:{$sum:1}
}
}
])
一致させる必要がある場合は、$match
を使用できます。 ステージ
db.PedagogyNodes.aggregate([
{
$match:{type:"topic"}
},
{
$unwind:"$contentNodes.LearningNodes"
},
{
$group:
{
_id:"$contentNodes.LearningNodes",
count:{$sum:1}
}
}
])
編集した質問に答える=>
mongoshellはスクリプト出力を画面に出力しないため、コンソールで出力を表示できませんでした。これを行うには、次のようにします。
var result = records.PedagogyVersions.aggregate([......]);
result.forEach(function(resultDoc){
print(tojson(resultDoc))
})