MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So verwenden Sie die Aggregationsfunktion Mongo db-query

Versuchen Sie, die LearningNodes abzuwickeln Array und zählen Sie sie dann, indem Sie sie zusammen gruppieren

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

Falls Sie Übereinstimmungen benötigen, können Sie den $match verwenden Stufe

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

Beantwortung der bearbeiteten Frage =>

Sie konnten die Ausgabe auf der Konsole nicht anzeigen, da Mongoshell keine Skriptausgabe auf dem Bildschirm druckt. Gehen Sie dazu wie folgt vor:

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

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