首页 > 解决方案 > 如何在 Python 中使用自定义对象 ID 在 MongoDB 中插入文档

问题描述

我正在使用以下代码在 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是自动创建的。是否可以在此处插入您自己的 ID。我们怎么能这样做。

一种方法是_id在 data_dict()中创建

data_dict['_id'] = uuid.uuid4()

然后将数据保存在db中。然后将其保存为_iduuid但数据类型也另存为UUID,我想将其另存为ObjectID. 谁能帮帮我吗。

标签: pythonmongodbpymongo

解决方案


是的,您必须使用 BSON 模块制作自己的 objectid。

from bson.objectid import ObjectId

然后您可以创建自己的 objectid 并将其用于创建或插入。这应该是评论,但我没有所需的代表。


推荐阅读