我有一个Text模型;
class Text(db.Document):
siphash_value = db.LongField()
然后我使用siphash lib创建一个哈希。(https://github.com/majek/pysiphash)
此lib将字符串转换为长值,如 12398370950267227270L
如果我尝试将文档保存到我的数据库;
Text(siphash_value=12398370950267227270L).save()
我收到此错误:
OverflowError: MongoDB can only handle up to 8-byte ints
答案 0 :(得分:5)
MongoDB只支持64位整数(bson.spec),所以pymongo无法转换Long因此错误。
答案 1 :(得分:0)
你能告诉我们为什么它现在正在运作吗?新图书馆正在返回一个非长期的字段? (我不能评论你自己的答案,因为我的声誉不到50,对不起所有。)
我尝试用FloatField替换LongField并且它有效。实际上它有相同的结果。 只是有一个不同的符号(1.2398370950267228e + 19)。