Mongo" E11000重复键错误"使用WiredTiger时,不会指示哪个索引导致错误

时间:2016-01-06 01:12:04

标签: mongodb mongodb-query

我有一个包含这样的文档的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

1 个答案:

答案 0 :(得分:0)

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

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