1

我有一个文本模型;

class Text(db.Document):
    siphash_value = db.LongField()

然后我使用 siphash lib 创建一个哈希。(https://github.com/majek/pysiphash

此库将字符串转换为长值,例如12398370950267227270L

如果我尝试将文档保存到我的数据库;

Text(siphash_value=12398370950267227270L).save()

我收到此错误:

OverflowError: MongoDB can only handle up to 8-byte ints
4

2 回答 2

5

MongoDB 仅支持 64 位整数(bson.spec),因此 pymongo 无法转换 Long 因此错误。

于 2013-09-16T21:27:23.097 回答
0

你能告诉我们为什么它现在有效吗?新图书馆正在返回一个非长字段?(我无法评论您自己的答案,因为我的声望不到 50,抱歉)。

我试图用 FloatField 替换 LongField 并且它起作用了。实际上它具有相同的结果。只是有一个不同的符号(1.2398370950267228e+19)。

于 2013-09-09T17:54:01.797 回答