相关疑难解决方法(0)

使用MongoDB聚合框架舍入到小数点后2位

我正在使用mongodb聚合框架并进行一些计算,如下所示

db.RptAgg.aggregate( 
{ $group :
 { _id : {Region:"$RegionTxt",Mth:"$Month"},           
   ActSls:{$sum:"$ActSls"},
   PlnSls:{$sum:"$PlnSls"}
 } 
},
{ $project : 
 {
   ActSls:1,
   PlnSls:1,
   ActToPln:{$cond:[{ $ne: ["$PlnSls", 0] },{$multiply:[{$divide: ['$ActSls', '$PlnSls']},100]},0]}
  }

}

); 
Run Code Online (Sandbox Code Playgroud)

我想弄清楚将结果舍入到2位小数的最佳和最简单的方法是什么.以下是我的结果

{
    "result" : [
            {
                    "_id" : {
                            "Region" : "East",
                            "Mth" : 201301
                    },
                    "ActSls" : 72,
                    "PlnSls" : 102,
                    "ActToPln" : 70.58823529411765
            }
    ],
    "ok" : 1
Run Code Online (Sandbox Code Playgroud)

}

我希望"ActToPln"在aggegation框架本身的结果中显示70.59而不是"ActToPln":70.58823529411765.我想避免在我的应用程序中进行舍入

你能帮忙吗?

以下是我使用的数据集.

{
    "_id" : ObjectId("51d67ef69557c507cb172572"),
    "RegionTxt" : "East",
    "Month" : 201301,
    "Date" …
Run Code Online (Sandbox Code Playgroud)

rounding mongodb aggregation-framework

22
推荐指数
5
解决办法
3万
查看次数

MongoDB - 如何将数字截断为3位小数

我不知道如何在MongoDB中舍入一个数字.我只发现如何使用2位小数,但没有更多的小数.

"location" : {
    "type" : "Point",
    "coordinates" : [ 
        -74.00568, 
        40.70511
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是一个坐标的例子,我需要在点之后用3个数字进行舍入.谢谢

rounding mongodb

7
推荐指数
1
解决办法
1798
查看次数

标签 统计

mongodb ×2

rounding ×2

aggregation-framework ×1