问题描述
我有这样的东西。
"Amount": { "value": { "$trunc": [ "$Amount",2] }
当我的金额字段为244.50时,它将忽略0并使其变为244.5 如何使用$ trunc或$ round确保它是244.50。如果该值在字符串中,则可以,但是末尾必须为0。请帮忙。
解决方法
因此,我继续进行了解决,并希望它将对将来的某个人有所帮助。这是我的答案。您可以使用$ trunc或$ round。
{ "Amount": { "value": { "$toString": { "$trunc": [ {"$toDecimal": "$Amount"},2] } } }
重要的是要注意,在我的情况下,可以使用字符串作为最终输出,因为我正在使用此值填充语句中的打印内容。我不打算将其用于计算目的(在这种情况下,您一开始就不需要它)
,使用Decimal128:
MongoDB Enterprise ruby-driver-rs:PRIMARY> db.foo.insert({a:NumberDecimal('1.2020')})
WriteResult({ "nInserted" : 1 })
MongoDB Enterprise ruby-driver-rs:PRIMARY> db.foo.aggregate([{$project:{v:{$trunc:['$a',2]}}}])
{ "_id" : ObjectId("5f36d9ccad0dd0c8ef1cc0e2"),"v" : NumberDecimal("1.20") }