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

mongodbのマルチ合計/カウント(性別の合計とすべての結果の合計)

    そのような何かがトリックを行います:

    db.collection.aggregate([
      {$project: {
        male: {$cond: [{$eq: ["$gender", "male"]}, 1, 0]},
        female: {$cond: [{$eq: ["$gender", "female"]}, 1, 0]},
      }},
      {$group: { _id: null, male: {$sum: "$male"},
                            female: {$sum: "$female"},
                            total: {$sum: 1},
      }},
    ])
    

    例を挙げて制作:

    { "_id" : null, "male" : 2, "female" : 3, "total" : 5 }
    

    重要なアイデアは、条件式 を使用することです。 性別を0または1にマッピングします。その後、必要なのは各フィールドの単純な合計です。



    1. Mirthはmongodb接続に接続します

    2. コレクションへのconvertToCappedを元に戻す

    3. 基準/集計:配列フィールドに最新のステータスを持つ要素が含まれるすべての完全なドキュメントを検索します

    4. アプリケーションコンテキスト外で動作するフラスコ0.10mongo