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. MongoDB、java.lang.NoSuchFieldError

    2. mongoDBスキーマのフラット化

    3. MongoDBMapReduce関数でのクエリ

    4. MongoDB $ weeklyUpdate#66(2022年4月22日):ハッカソン、mongosh、Github