【问题标题】:Mongo "E11000 duplicate key error" does not indicate which index caused the error when using WiredTigerMongo "E11000 duplicate key error" 使用WiredTiger时不指示是哪个索引导致错误
【发布时间】:2016-04-10 00:13:51
【问题描述】:

我有一个 mongo 集合,其中包含这样的文档

{_id : "Thing1", Version : 123 }

我在 Version 列上创建了一个二级索引,因此值在集合中的所有文档中必须是唯一的

{ v: 1, unique: true, key: { Version: -1 } }

当我使用 mmapv1 时,如果我尝试插入重复的文档(与该版本密钥冲突),我会收到类似这样的错误

E11000 duplicate key error index: local.Sample.$Version_-1 dup key: { : 1 }

但是,如果我使用 WiredTiger,我将不再获得索引:

E11000 duplicate key error dup key: { : 1 }

我想使用索引来确定哪一列发生故障,以便我可以根据故障进行不同的重试。我的配置中是否存在导致错误中缺少该值的内容?

注意:这里使用的是 Mongo 3.0

【问题讨论】:

  • 当我尝试使用 Mongo 3.2.0 和 WiredTiger 时似乎可以正常工作。

标签: mongodb mongodb-query


【解决方案1】:

看起来这是 Mongo 3.0.0 中的一个错误。运行应用程序的服务器没有这个问题,只有我的本地机器,当我最终意识到服务器运行的是 Mongo 3.0.3 时,我无法弄清楚两者之间有什么不同。

将本地计算机升级到 3.0.3 或更高版本解决了该问题。

【讨论】:

    猜你喜欢
    • 2018-10-02
    • 2022-11-02
    • 1970-01-01
    • 2012-06-07
    • 2022-01-05
    • 2020-08-13
    • 2013-02-08
    • 1970-01-01
    • 2020-10-19
    相关资源
    最近更新 更多