sql >> Database >  >> NoSQL >> MongoDB

Hoe de aggregatiefunctie mongo db-query te gebruiken?

Probeer de LearningNodes . af te wikkelen array en tel ze vervolgens door ze te groeperen

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

Als je een match moet doen, kun je de $match . gebruiken podium

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

De bewerkte vraag beantwoorden =>

U kon de uitvoer niet op de console bekijken omdat mongoshell geen scriptuitvoer op het scherm afdrukt. Om dit te doen, doet u het volgende:

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

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


  1. Verwijder een object uit een geneste array met $pull en $[identifier] (mongoDB 3.6)

  2. Kan iemand het redis setbit-commando uitleggen?

  3. Ik wil dat mijn pre('save') mangoestfunctie maar één keer werkt

  4. Null-waarden uitsluiten van Mongoose-vulquery's?