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

MongoDB 2.1 Aggregate Framework Sum af matrixelementer, der matcher et navn

Du kan bruge aggregeringsrammen til at få salg og profit og enhver anden værdi, du måtte gemme i din nøgle/værdi-parrepræsentation.

For dine eksempeldata:

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
}

Hvis du har yderligere k/v-par, kan du tilføje et match, som kun passerer gennem k-værdier i ["salg","profit"].



  1. Mongodb:Kunne ikke oprette forbindelse til 127.0.0.1:27017, årsag:errno:10061

  2. Twitter-lignende app ved hjælp af MongoDB

  3. 3 måder at vælge rækken med den maksimale værdi i SQL

  4. MongoDB $count Aggregation Operator