Python - PyMongo插入和更新

时间:2016-11-03 14:40:11

标签: python mongodb

我正在尝试在我的座位上执行插入和更新操作,而不插入重复数据。

我的集合具有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:状态字段,包​​含文本ID。

问题是:他正在输入具有相同ID的重复数据,现在只将所有数据放在mongoDB的_id:ObjectId下。

如何使用我可以输入新数据而不是重新输入银行中已有数据的方法?

1 个答案:

答案 0 :(得分:0)

尝试如下:

try:
    # insertion logic
except DuplicateKeyError as err:
    continue;  # will continue though DuplicateKeyError is raised.