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

Mongodb сумира размера на полетата на масива

Включете $group етап на конвейера на оператора след $project стъпка, както следва:

db.profil.aggregate([
   { "$match":{ "typ": "Organisation" } },
   { "$project": {
         "fooos": { "$size": "$foos" }
   } },
   { "$group": {
       "_id": null,
       "count": {
           "$sum": "$fooos"
       }
   } }
])

Това ще групира всички входни документи от предишния $project етап и прилага акумулаторния израз $sum на fooos поле в рамките на групата, за да получите общата сума (като използвате последния си пример):

Това може да стане и като се заобиколи $project тръбопровод като:

db.profil.aggregate([
   { "$match": { "typ": "Organisation" } },
   { "$group": {
       "_id": null,
        "count": {
            "$sum": { "$size": "$foos" }
        }
    } }
])

Изход

/* 0 */
{
    "result" : [ 
        {
            "_id" : null,
            "count" : 24
        }
    ],
    "ok" : 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Stripe:Трябва да посочи източник или клиент

  2. Изключете специфични полета в индекса на заместващи символи в MongoDB

  3. Тестване за интеграция на Spring Boot с вграден MongoDB

  4. Как да актуализирам стойността на конкретен вграден документ, вътре в масив, на конкретен документ в MongoDB?

  5. MongoDB няма да стартира след срив на сървъра