私は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
]}
}}
);
結果を小数点以下 2 桁に丸める最も簡単な方法を見つけようとしています。以下は私の結果です
{
"result": [{
"_id": {
"Region": "East",
"Mth": 201301
},
"ActSls": 72,
"PlnSls": 102,
"ActToPln": 70.58823529411765
}],
"ok": 1
}
集計フレームワーク自体の結果で、"ActToPln" : 70.58823529411765の代わりに"ActToPln" が70.59 を表示するようにします。アプリケーションで丸めを回避したい
同じことを手伝ってもらえますか。
以下は、私が使用したデータセットです。
{
"_id" : ObjectId("51d67ef69557c507cb172572"),
"RegionTxt" : "East",
"Month" : 201301,
"Date" : "2013-01-01",
"ActSls" : 31,
"PlnSls" : 51
}
{
"_id" : ObjectId("51d67ef69557c507cb172573"),
"RegionTxt" : "East",
"Month" : 201301,
"Date" : "2013-01-02",
"ActSls" : 41,
"PlnSls" : 51
}
前もって感謝します。ナンドゥ