Intenta desenredar los LearningNodes
array y luego contarlos agrupándolos
db.PedagogyNodes.aggregate([
{
$unwind:"$contentNodes.LearningNodes"
},
{
$group:
{
_id:"$contentNodes.LearningNodes",
count:{$sum:1}
}
}
])
En caso de que necesite hacer coincidencias, puede usar $match
escenario
db.PedagogyNodes.aggregate([
{
$match:{type:"topic"}
},
{
$unwind:"$contentNodes.LearningNodes"
},
{
$group:
{
_id:"$contentNodes.LearningNodes",
count:{$sum:1}
}
}
])
Respondiendo la pregunta editada =>
No pudo ver la salida en la consola ya que mongoshell no imprime la salida del script en la pantalla. Para hacer esto, haga lo siguiente:
var result = records.PedagogyVersions.aggregate([......]);
result.forEach(function(resultDoc){
print(tojson(resultDoc))
})