Я пытаюсь вставить 64-битное целое число без знака в mongodb, используя pymongo. Целое число является выходом алгоритма CRC64. Я пытался следующее:
long(crc64(unicode(kw).encode('unicode-escape'))))
Если я вставлю это в mongodb, он начнет жаловаться, что mongodb поддерживает только 64-битные целые числа. Затем я попытался преобразовать его в 64-битный int со знаком так:
ctypes.c_int64(crc64(unicode(kw).encode('unicode-escape')))).value
Какой тип работы, mongodb перестает жаловаться на размер моего int, но когда я смотрю на данные в mongodb, я получаю это:
{
"_id" : {
"floatApprox" : -5307924876159732000,
"top" : 3059119730,
"bottom" : 2651469802 },
"keyword" : "redacted",
"normal_hash" : {
"floatApprox" : -671156942315906300,
"top" : 4138701393,
"bottom" : 549001936
}
}
Что здесь происходит? Есть ли способ поместить 64-битное int в db как просто int (на самом деле все равно, подписано оно или нет).