如何解决在Mongodb中使用$ trunc或$ round不能保证小数点后两位
我有这样的东西。
"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") }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。