亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MongoDB SELECT COUNT GROUP BY

MongoDB SELECT COUNT GROUP BY

PIPIONE 2019-09-20 17:18:03
我正在玩MongoDB試圖弄清楚如何做一個簡單的事情SELECT province, COUNT(*) FROM contest GROUP BY province但我似乎無法使用聚合函數來解決它。我可以使用一些非常奇怪的組語法來做到這一點db.user.group({    "key": {        "province": true    },    "initial": {        "count": 0    },    "reduce": function(obj, prev) {        if (true != null) if (true instanceof Array) prev.count += true.length;        else prev.count++;    }});但是使用聚合函數有更簡單/更快的方法嗎?
查看完整描述

3 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

這將是使用aggregate以下方法更簡單的方法:


db.contest.aggregate([

    {"$group" : {_id:"$province", count:{$sum:1}}}

])


查看完整回答
反對 回復 2019-09-20
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

如果需要多個列進行分組,請遵循此模型。在這里,我通過進行計數status和type:


  db.BusinessProcess.aggregate({

    "$group": {

        _id: {

            status: "$status",

            type: "$type"

        },

        count: {

            $sum: 1

        }

    }

   })


查看完整回答
反對 回復 2019-09-20
?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

我需要一些基于聚合函數結果的額外操作。最后,我找到了一些基于MongoDB結果的聚合函數和操作的解決方案。我收藏Request了一個字段request, source, status, requestDate。


單場組By&Count:


db.Request.aggregate([

    {"$group" : {_id:"$source", count:{$sum:1}}}

])

多個字段分組依據和計數:


db.Request.aggregate([

    {"$group" : {_id:{source:"$source",status:"$status"}, count:{$sum:1}}}

])

多個字段分組依據和計數使用字段排序:


db.Request.aggregate([

    {"$group" : {_id:{source:"$source",status:"$status"}, count:{$sum:1}}},

    {$sort:{"_id.source":1}}

])

多個字段按&計數使用排序使用計數:


db.Request.aggregate([

    {"$group" : {_id:{source:"$source",status:"$status"}, count:{$sum:1}}},

    {$sort:{"count":-1}}

])


查看完整回答
反對 回復 2019-09-20
  • 3 回答
  • 0 關注
  • 876 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號