sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo usar la función de agregación mongo db-query

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))
})