该问题最初是在dba.stackexchange.com中提出的。我正在尝试将用户ID从MySQL迁移到MongoDB,我想从一个整数创建objectID。有没有一种方法可以在ObjectID部分(例如ObjectID的随机部分)中存储INT?然后将其从ObjectID转换回int。
答案 0 :(得分:1)
好的,有一个简单的方法:
import bson
def object_id_from_int(n):
s = str(n)
s = '0' * (24 - len(s)) + s
return bson.ObjectId(s)
def int_from_object_id(obj):
return int(str(obj))
n = 12345
obj = object_id_from_int(n)
n = int_from_object_id(obj)
print(repr(obj)) # ObjectId('000000000000000000012345')
print(n) # 12345