我正在使用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) 我不知道如何在MongoDB中舍入一个数字.我只发现如何使用2位小数,但没有更多的小数.
"location" : {
"type" : "Point",
"coordinates" : [
-74.00568,
40.70511
]
}
Run Code Online (Sandbox Code Playgroud)
这是一个坐标的例子,我需要在点之后用3个数字进行舍入.谢谢