MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB 2.1 Aggregate Framework Сума от елементи на масив, съответстващи на име

Можете да използвате рамката за агрегиране, за да получите продажби и печалба и всяка друга стойност, която може да съхранявате в представянето на двойката си ключ/стойност.

За вашите примерни данни:

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
}

Ако имате допълнителни двойки k/v, тогава можете да добавите съвпадение, което минава само през k стойности в ["sales","profit"].



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb удостоверяване с низ за връзка

  2. Автоматизиране и управление на MongoDB в облака

  3. Нуждаете се от съвет за проектиране на база данни в mongodb с mongoose

  4. 5 начина да получите месеца от дата в MongoDB

  5. получаване на атрибути на схемата от Mongoose Model