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

Mongodbグループと並べ替え

    モンゴのウェブサイトにあるこの例に触発されました。

    ダミーデータの生成:

    > db.stack.insert({a:1,b:1,c:1,active:1})
    > db.stack.insert({a:1,b:1,c:2,active:0})
    > db.stack.insert({a:1,b:2,c:3,active:1})
    > db.stack.insert({a:1,b:2,c:2,active:0})
    > db.stack.insert({a:2,b:1,c:3,active:1})
    > db.stack.insert({a:2,b:1,c:10,active:1})
    > db.stack.insert({a:2,b:2,c:10,active:0})
    > db.stack.insert({a:2,b:2,c:5,active:1})
    

    MONGO QUERY:

    > db.stack.aggregate(
    ... {$match:{active:1}},
    ... {$group:{_id:{a:"$a", b:"$b"}, csum:{$sum:"$c"}}},
    ... {$sort:{"_id.a":1}})
    

    結果:

    {"result" : [
        {"_id" : {"a" : 1,"b" : 2},"csum" : 3},
        {"_id" : {"a" : 1,"b" : 1},"csum" : 1},
        {"_id" : {"a" : 2,"b" : 2},"csum" : 5},
        {"_id" : {"a" : 2,"b" : 1},"csum" : 13}
    ],"ok" : 1}
    

    (注:シェルの結果を少し再フォーマットして、読みやすくしました)



    1. ネストされた配列内のMongodbインクリメント値

    2. ElasticBeanstalkにRedisをインストールして設定する方法

    3. MongoDB insertOne()

    4. フィールド''のオブジェクト'target'のフィールドエラー:拒否された値[];コード[typeMismatch.target。、typeMismatch。、typeMismatch.java.util.Date、typeMismatch]