Mongodb 求和
生活随笔
收集整理的這篇文章主要介紹了
Mongodb 求和
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
有兩種命令模式
1.
db.houseInfo.aggregate([ { $match : { "province" : "天津"}}, { $group : { _id : "$province", num_tutorial : {$sum : "$valuationPrice"} }} ]);$match 后面寫(xiě)的是查詢條件
$group后面寫(xiě)的是查詢的字段,_id 指定的是province字段,num_tutorial 是對(duì)valuationPrice字段的求和。
返回結(jié)果形式
{"_id" : "天津","num_tutorial" : 0 }我在使用的時(shí)候遇到一個(gè)問(wèn)題,mongodb中valuationPrice存儲(chǔ)的類型是string,所以求和出來(lái)結(jié)果0,在不改變?cè)械臄?shù)據(jù)類型的情況下,改用下面這種方法。
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 后面寫(xiě)的是計(jì)算的函數(shù),這種利用parseFloat()函數(shù)將字符串轉(zhuǎn)換為浮點(diǎn)型。
condition后面為查詢條件.
返回結(jié)果形式
/* 1 */ {"retval" : [ {"total" : 15304977820.93}],"count" : NumberLong(3301),"keys" : NumberLong(1),"ok" : 1.0 }?
轉(zhuǎn)載于:https://my.oschina.net/xqysun/blog/920457
總結(jié)
以上是生活随笔為你收集整理的Mongodb 求和的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 十进制转化为16进制
- 下一篇: html有序无序标签,HTML标签有序标