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

MongoDB сумирани масиви от множество документи на базата на всеки елемент

Можете да използвате includeArrayIndex ако имате 3.2 или по-нова MongoDb.

След това трябва да промените $unwind .

Вашият код трябва да бъде така:

.aggregate(
    [
      {
        "$unwind" :  { path: "$result", includeArrayIndex: "arrayIndex" }
      },
      {
        "$group": {
          "_id": "$arrayIndex",
          "results" : { "$sum" : "$result"}
          }
      },
      { 
        $sort: { "_id": 1}
      },
      {
        "$group":{
          "_id": null,
          "results":{"$push":"$results"}
          } 
      },
      {
        "$project": {"_id":0,"results":1}
      }
    ]
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. RangeError:Невалидна дължина на буфера на масива - Meteor JS

  2. Mongodb се изключва

  3. Как да намеря пресечната точка на набори между документите в една колекция в MongoDB?

  4. Пач REST API за частична актуализация на MongoDB в .NET

  5. MongoDB и големи набори от данни при използване на модел на хранилище