相关疑难解决方法(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万
查看次数

标签 统计

aggregation-framework ×1

mongodb ×1

rounding ×1