我有一个号码我从外部来源获取我想写为mongo作为Int
问题是该数字高于签名的Int64(这是mongo实现它的方式) - 但仍然适合未经编辑的int64
号码是: 9223372036854776000
我怎么还能把它写到mongo?
我得到了
OverflowError: MongoDB can only handle up to 8-byte ints
答案 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})