sql >> Database >  >> NoSQL >> MongoDB

MongoDB 2.1 Aggregate Framework Som van array-elementen die overeenkomen met een naam

U kunt het aggregatieraamwerk gebruiken om verkopen en . te krijgen winst en elke andere waarde die u mogelijk opslaat in uw sleutel/waarde-paarrepresentatie.

Voor uw voorbeeldgegevens:

var pipeline = [
    {
        "$unwind" : "$finance"
    },
    {
        "$group" : {
            "_id" : "$finance.k",
            "numberOf" : {
                "$sum" : 1
            },
            "total" : {
                "$sum" : "$finance.v.v"
            }
        }
    }
]

R = db.tb.aggregate( pipeline );
printjson(R);
{
        "result" : [
            {
                "_id" : "profit",
                "numberOf" : 2,
                "total" : 246246
            },
            {
                "_id" : "sales",
                "numberOf" : 2,
                "total" : 468000
            }
        ],
        "ok" : 1
}

Als je extra k/v-paren hebt, kun je een overeenkomst toevoegen die alleen door k-waarden gaat in ["sales","profit"].



  1. Wat is het verschil tussen Spring Data MongoDB en Hibernate OGM voor MongoDB?

  2. Redis `SCAN`:hoe een evenwicht te bewaren tussen nieuwe sleutels die kunnen overeenkomen en zorgen voor een uiteindelijk resultaat binnen een redelijke tijd?

  3. Hoe vraag ik naar verschillende waarden in Mongoose?

  4. Werken met twee afzonderlijke redis-instanties met sidekiq?