Python - Pymongo MongoDB 3.4 - NumberDecimal

时间:2017-05-31 11:26:14

标签: python mongodb numbers decimal pymongo

我正在使用mongodb 3.4以便为我的数据库插入合适的价格..

根据:

https://github.com/mongodb/specifications/blob/master/source/bson-decimal128/decimal128.rst#reading-from-extended-json

我在我的python代码中使用了这个:

'credits': {'$numberDecimal': Decimal128('9.99')},

但抛出:

bson.errors.InvalidDocument: key '$numberDecimal' must not start with '$'

那么使用python在mongodb中插入numberdecimal的正确语法是什么?

谢谢和问候

2 个答案:

答案 0 :(得分:1)

简单地说:

Claim

(" $ numberDecimal"语法用于在JSON字符串中表示十进制数。但您根本不使用JSON。)

答案 1 :(得分:-1)

您提供的链接会告诉您有关扩展JSON的读取的信息。如果要将其作为小数插入,则应使用:

{ 'credits': '{0:.2f}'.format(9.99) }

'{0:.2f}'.format(9.99)部分将格式化您传递的数字(在本例中为9.99),每次包含2位小数。因此'{0:.2f}'.format(9)应该会在您的数据库中产生9.00。