Mongo :: Error :: OperationFailure:E11000重复键错误集合:metalab_development.demands index:sn_1 dup key:{:null}(11000)

为什么我遇到错误’重复键’? 实际上,我在代码中添加了以下行:

index({ sn: 1 }, { unique: true, sparse: true}) 

然后我输入命令:

 rake db:mongoid:create_indexes 

出现了错误,让我感到困惑。

该错误指出您的集合中的文档具有重复的键。 这是由于您的索引要求它们是该密钥的唯一记录。

如果您不需要唯一记录:从该语句中删除unique:true

如果确实需要唯一记录:搜索具有重复密钥的文档并更新它们

关于稀疏的注释,这意味着它只会在文档中存在密钥时进行索引,并忽略没有密钥稀疏文档的文档

更新:

如果我正确读取错误,则重复键可能为“null”。 在使用稀疏时,如果取消设置当前条目为空的字段,则应该可以使用索引。