#python #mongodb #pymongo
Вопрос:
Я вставляю документ в коллекцию MongoDB, используя приведенный ниже код:
try:
x = coll.insert_one(data_dict).inserted_id
print(x)
except Exception as e:
log.error("Exception at saving data for db {}".format(cid))
log.error(e)
Это вставляет документ в коллекцию, и mongo db создает свой собственный идентификатор объекта, как показано на рисунке ниже:
_id
создается автоматически. Можно ли вставить здесь свой собственный идентификатор? Как мы можем это сделать?
Один из способов сделать это-создать _id
в data_dict()
data_dict['_id'] = uuid.uuid4()
а затем сохраните данные в БД. Затем это сохраняет _id
с uuid
помощью, но тип данных также сохраняется как UUID
, и я хочу сохранить его как ObjectID
. Кто-нибудь может мне помочь, пожалуйста.
Ответ №1:
Да, вы должны создать свой собственный объект с помощью модуля BSON.
from bson.objectid import ObjectId
Затем вы можете создать свой собственный идентификатор объекта и использовать его для создания или вставки. Это должно быть комментарием, но у меня нет необходимой репутации.