sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man använder aggregeringsfunktionen mongo db-query

Försök att varva ner LearningNodes array och sedan räkna dem genom att gruppera dem tillsammans

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

Om du behöver göra några matchningar kan du använda $match skede

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

Svarar på den redigerade frågan =>

Du kunde inte se utdata på konsolen eftersom mongoshell inte skriver ut skriptutdata på skärmen. För att göra detta, gör följande:

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

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


  1. samling A som har en utlänning med B, B har en utlänning med samling C, hur kan jag ta en utlänning från A till samling C?(Aggregerat)

  2. Mongoid ger oinitierad konstant Mongo

  3. Vad är skillnaden mellan en changeStream och tailable cursor i MongoDB

  4. Selleri beat + redis med lösenord kastar Inget Auth undantag