sql >> データベース >  >> NoSQL >> MongoDB

MongoDBは、事前にすべてのフィールドを知らなくてもフィールドを集約します

    以下の集計を試すことができます。

    オブジェクトをキーと値のペアの配列に変換し、続いて$ unwind + $ groupを変換して各キーでグループ化し、カウントを累積します。名前付きKeyValueオブジェクトに戻るための最後のステップ。

    db.colname.aggregate([
      {"$addFields":{"metrics":{"$objectToArray":"$metrics"}}},
      {"$unwind":"$metrics"},
      {"$group":{
        "_id":{"id":"$player_id","key":"$metrics.k"},
        "count":{"$sum":"$metrics.v"}
      }},
      {"$group":{
        "_id":"$_id.id",
        "metrics":{"$mergeObjects":{"$arrayToObject":[[["$_id.key","$count"]]]}}
      }}
    ])
    



    1. $ mongoDBのプロジェクションfindOneAndUpdate()

    2. NodeJS / ExpressJSは、1つのストリームで大量のデータの応答を送信します

    3. Node.js、Redis、Socket.ioを使用してツイートをキャッシュする

    4. SpringMongoDBプロセス/スレッドリーク