Mongodb 求和
生活随笔
收集整理的這篇文章主要介紹了
Mongodb 求和
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有兩種命令模式
1.
db.houseInfo.aggregate([ { $match : { "province" : "天津"}}, { $group : { _id : "$province", num_tutorial : {$sum : "$valuationPrice"} }} ]);$match 后面寫的是查詢條件
$group后面寫的是查詢的字段,_id 指定的是province字段,num_tutorial 是對valuationPrice字段的求和。
返回結果形式
{"_id" : "天津","num_tutorial" : 0 }我在使用的時候遇到一個問題,mongodb中valuationPrice存儲的類型是string,所以求和出來結果0,在不改變原有的數據類型的情況下,改用下面這種方法。
2.
db.runCommand({"group":{ "ns":"houseInfo", "key":"beginTime", "initial":{"total":0}, "$reduce" : function(doc,prev){ prev.total += parseFloat(doc.valuationPrice); }, "condition":{"beginTime":{$regex: '^201705.*$', $options:'i'}}} }});ns 為collection的名稱
initial初始化total變量的值為0
$reduce 后面寫的是計算的函數,這種利用parseFloat()函數將字符串轉換為浮點型。
condition后面為查詢條件.
返回結果形式
/* 1 */ {"retval" : [ {"total" : 15304977820.93}],"count" : NumberLong(3301),"keys" : NumberLong(1),"ok" : 1.0 }?
轉載于:https://my.oschina.net/xqysun/blog/920457
總結
以上是生活随笔為你收集整理的Mongodb 求和的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十进制转化为16进制
- 下一篇: 牛客月赛42