Python-PyMongo插入和更新
我正在尝试在我的座位上执行插入和更新操作,而不插入重复数据 我的集合具有id属性,我对该属性进行了操作Python-PyMongo插入和更新,python,mongodb,Python,Mongodb,我正在尝试在我的座位上执行插入和更新操作,而不插入重复数据 我的集合具有id属性,我对该属性进行了操作createIndex(),以将id属性作为唯一属性传递。这是因为每次我试图通过Python代码输入新数据时,都会出现以下消息: pymongo.errors.DuplicateKeyError: E11000 duplicate key error collection: test index: id_1 dup key: { : "400728540046889_11087831159080
createIndex()
,以将id属性作为唯一属性传递。这是因为每次我试图通过Python代码输入新数据时,都会出现以下消息:
pymongo.errors.DuplicateKeyError: E11000 duplicate key error collection: test index: id_1 dup key: { : "400728540046889_1108783115908091" }
好的,mongoDB不允许输入已经存储在银行中的数据。但是我需要我的代码继续运行,忽略银行中已经存在的新数据,并继续输入新数据。工作令规定:
在银行中运行script-Insert命令-Error:Dup Key
我要找的是:
在银行中运行script-Insert命令-Error:Dup Key(忽略此键)-继续运行脚本查找新数据并插入
一、 尝试使用upsert的更新方法,使用命令:
db.myDB.update({'id':status['id']},status,True)
我们有:
- 状态:包含我的数据
- Id:状态字段,包含文本的Id
try:
# insertion logic
except DuplicateKeyError as err:
continue; # will continue though DuplicateKeyError is raised.
尝试如下:
try:
# insertion logic
except DuplicateKeyError as err:
continue; # will continue though DuplicateKeyError is raised.
浏览链接了解基本知识。您将容易出错的代码(插入操作)保留在try块中,并在except块中捕获错误/异常(这里是DuplicateKeyError)。在Exception块中,如果出现DuplicateKeyError,请使用continue(python关键字)运行代码。。。。除了DuplicateKeyError as err:continue?浏览链接了解基本信息。您将容易出错的代码(插入操作)保留在try块中,并在except块中捕获错误/异常(这里是DuplicateKeyError)。在Exception块中,如果出现DuplicateKeyError,请使用continue(python关键字)运行代码。。。。除了DuplicateKeyError as err:continue?Edit:Ok,错误是
pymongo.errors.DuplicateKeyError
,但即使在这种情况下,新数据也不会输入到mongo的集合中。正在输入新数据,但不符合顺序(最新->较旧)。它们被插入到集合的中间为什么这对您很重要(文档的存储顺序),您可以使用排序功能按您想要的顺序检索记录。编辑:好的,错误是pymongo.errors.DuplicateKeyError
,但即使在这种情况下,mongo集合中未输入新数据。正在输入新数据,但不符合顺序(最新->较旧)。它们被插入到集合的中间为什么这对您很重要(文档的存储顺序),您可以使用排序功能按所需的顺序检索记录。