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

Sådan bruger du aggregeringsfunktionen mongo db-query

Prøv at slappe af LearningNodes array og derefter tælle dem ved at gruppere dem sammen

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

Hvis du har brug for at lave nogen match, kan du bruge $match scenen

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

Besvarelse af det redigerede spørgsmål =>

Du var ikke i stand til at se outputtet på konsollen, da mongoshell ikke udskriver scriptoutput på skærmen. For at gøre dette skal du gøre følgende:

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

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


  1. Dynamisk Sticky Sortering i Mongo for en simpel værdi eller liste

  2. Gem GeoJSON-polygoner i MongoDB

  3. Fejlen ved, at mongoid returnerer det første dokument, når det påberåbes sidst?

  4. MongoDb søger indlejret array mellem dateTimes ved hjælp af Robomongo