【发布时间】:2020-03-07 20:16:47
【问题描述】:
我第一次尝试 pymongo,当我尝试在集合中插入数据时,起初它已成功创建,但当我运行相同的脚本时,它会引发 id 重复错误。 我读到如果我们不提及,mongodb/pymongo 本身会创建唯一的 id。 我想使用自动生成 id 方法,这似乎简单且适用于重型数据库(不是吗?)。 该怎么做?
from pymongo import MongoClient
#step 1: connection
client = MongoClient(port=27017)
db=client["book"]
collection = db["book_booklist"]
#step 2: create sample data
data= {'name':'Great ideas', 'price':'100', 'Author':'gogo','issue_duration':'30'}
value= collection.insert_one(data)
print(value)
错误:第二次尝试 pymongo.errors.DuplicateKeyError: E11000 duplicate key error collection: book.book_booklist index: primary_key dup key: { id: null }
【问题讨论】:
-
根据
pymongo,每次插入操作都会将一个特殊键_id附加到原始对象引用Insert Document。因此,最好清除_id键的值(如果您尝试重新插入同一个文档)。更多关于null重复值MongoDB show duplicate key is null?