使用pymogno

时间:2017-05-09 16:26:59

标签: python mongodb pymongo

我有一个号码我从外部来源获取我想写为mongo作为Int

问题是该数字高于签名的Int64(这是mongo实现它的方式) - 但仍然适合未经编辑的int64

号码是: 9223372036854776000

我怎么还能把它写到mongo? 我得到了 OverflowError: MongoDB can only handle up to 8-byte ints

1 个答案:

答案 0 :(得分:0)

使用最新的PyMongo和MongoDB 3.4或更高版本,you can use the standard Python Decimal with the new BSON Decimal128 type

from decimal import Decimal
from bson.decimal128 import Decimal128
from pymongo import MongoClient

d = Decimal128(Decimal(9223372036854776000))
collection = MongoClient().test.test
collection.insert_one({'myNumber': d})