当前位置: 首页 > 知识库问答 >
问题:

插入期间:E11000重复键错误索引

金承嗣
2023-03-14

我正在使用mongojs和Node.js在mongob中插入一个文档。这是一个REST应用编程接口,只有一个mongojs实例(具有本地驱动器)。每次,有一个api调用,SAME mongojs对象用于执行mongob操作。现在,我在尝试插入文档时得到以下错误。

{
name: "MongoError"
err: "E11000 duplicate key error index: testdb.userComment.$_id_ dup key: { :    ObjectId('51727190bb4ab52a80024c09') }"
code: 11000
n: 0
connectionId: 225
ok: 1
}

该文档总是唯一的,我尝试了db.userComment.getIndexs(),它显示索引在_id。有人能帮助我如何解决这个问题吗?

共有2个答案

淳于健
2023-03-14

这个问题似乎与这个问题重复:获取“err”:“E11000使用Java驱动程序插入mongo时出现重复密钥错误”

我在这个页面上找到了一个答案。我猜你的代码看起来像这样(大大简化)?:

doc = {} 
for i in xrange(2): 
    doc['i'] = i 
    collection.insert(doc) 

问题是,如果\u id字段不存在,PyMongo会在插入它之前向文档中注入一个_id字段(\u id总是在客户端使用10gen驱动程序生成)。这意味着第一次通过循环\u id是通过insert方法添加的。由于doc是在循环外部定义的,因此循环的每个后续传递都使用相同的\u id值。

解决方案:

  1. 删除密钥_id
for i in xrange(2): 
    doc['i'] = i 
    if '_id' in doc: 
        del doc['_id'] 
    collection.insert(doc)
from bson.objectid import ObjectId 
for i in xrange(2): 
    doc['i'] = i 
    doc['_id'] = ObjectId() 
    collection.insert(doc)
武睿
2023-03-14

我不确定这是否是一个正确的解决方案,但每次插入文档时,我都会显式地创建一个新的ObjectID,而不是将命运留给mongodb驱动程序。我使用了下面的代码

注释数据。_id=要求('mongoDB')。BSONPure。ObjectID();

 类似资料:
  • 问题内容: 以下是我在模型中的架构- 这就是我在控制器中使用它的方式- 这就是我将其保存在数据库中的方式- 错误 - 我检查了数据库集合,没有这样的重复条目,让我知道我在做什么错吗? 仅供参考- 和被获取的值。 我也检查了这篇文章,但没有帮助STACK LINK 如果我将其完全删除,则它将插入文档,否则即使我在local.email中有条目,也会引发错误“ Duplicate”错误 问题答案: 错

  • 为什么会出现此重复错误-? 提供的所有字段都不是空的。 架构: 职位: 错误: 创建新用户时出错:WriteError({“code”:11000,“index”:0,“errmsg”:“insertDocument::由引起::11000 E11000重复密钥错误索引:iotdb.users.$name_1 dup key:{:null}”,“op:{“username”:“tealou”,“p

  • 问题内容: 为什么会出现此重复错误- ? 提供的所有字段都不为空。 架构: 发布: 错误: 创建新用户时出错:WriteError({:“ 11000,” index“:0,” errmsg“:” insertDocument ::由:: 11000 E11000重复键错误导致:iotdb.users。$ name_1 dup key:{: null}“,” op“:{”用户名“:” tealou

  • 下面是模型中的架构- 这就是我在控制器中使用它的方式- 我就是这样把它保存在数据库里的- 错误- 我检查了数据库集合,没有这样的重复条目存在,让我知道我做错了什么? FYI-和正在获取值。 我也检查了这篇文章,但没有帮助堆栈链接 如果我完全删除,它就插入文档,否则它会抛出错误“重复”错误,即使我在local.email中有一个条目

  • 我在一个djs机器人工作,我遇到了一个错误,我不知道如何修复我已经看了https://docs.mongodb.com/manual/indexes/和NodeJs,摩卡和猫鼬,但似乎没有什么帮助这里是信息- 错误发生在这里- 这是我的服务器模型/服务器架构- 最后,这是我得到的错误-