我正在尝试在我的座位上执行插入和更新操作,而不插入重复数据。
我的集合具有id属性,我将其作为操作createIndex()
传递给id属性作为唯一。它的工作原理是因为每次我尝试通过Python中的代码输入新数据时,都会显示消息:
pymongo.errors.DuplicateKeyError: E11000 duplicate key error collection: test index: id_1 dup key: { : "400728540046889_1108783115908091" }
好的,mongoDB不允许输入已存储在银行中的数据。但我需要我的代码继续运行忽略银行中已经存在ExSite的新数据并继续输入新数据。这个工作单:
运行脚本 - 在Bank中插入命令 - 错误:Dup Key
我想要的是:
运行脚本 - 在Bank中插入命令 - 错误:Dup键(忽略此键) - 继续运行脚本以查找新数据并插入
我尝试使用更新方法和upsert,使用命令:
db.myDB.update({'id':status['id']},status,True)
我们有:
问题是:他正在输入具有相同ID的重复数据,现在只将所有数据放在mongoDB的_id:ObjectId下。
如何使用我可以输入新数据而不是重新输入银行中已有数据的方法?
答案 0 :(得分:0)
尝试如下:
try:
# insertion logic
except DuplicateKeyError as err:
continue; # will continue though DuplicateKeyError is raised.