MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come utilizzare la funzione di aggregazione mongo db-query

Prova a svolgere i LearningNodes array e poi contali raggruppandoli insieme

db.PedagogyNodes.aggregate([
    {
       $unwind:"$contentNodes.LearningNodes"
    },
    {
        $group:
        {
            _id:"$contentNodes.LearningNodes",
            count:{$sum:1}
        }
    }
])

Nel caso tu abbia bisogno di fare delle corrispondenze puoi usare il $match fase

db.PedagogyNodes.aggregate([
    {
        $match:{type:"topic"}
    },
    {
       $unwind:"$contentNodes.LearningNodes"
    },
    {
        $group:
        {
            _id:"$contentNodes.LearningNodes",
            count:{$sum:1}
        }
    }
])

Rispondere alla domanda modificata =>

Non è stato possibile visualizzare l'output sulla console poiché mongoshell non stampa l'output dello script sullo schermo. Per fare ciò, procedi come segue:

var result =  records.PedagogyVersions.aggregate([......]);

result.forEach(function(resultDoc){
    print(tojson(resultDoc))
})