为什么我遇到错误'重复密钥'?实际上,我在我的代码中添加了以下行:
index({ sn: 1 }, { unique: true, sparse: true})
然后我输入命令:
rake db:mongoid:create_indexes
出现了错误,让我感到困惑。
答案 0 :(得分:0)
错误指出您的集合中包含重复键的文档。这是由于您的索引要求它们是该密钥的唯一记录。
如果您不需要唯一记录:从该语句中删除unique:true
如果您确实需要唯一记录:搜索具有重复密钥的文档并更新它们
关于稀疏的注释,这意味着它只会在文档中存在密钥时进行索引,并忽略没有密钥的文档sparse docs
<强>更新强>
如果我正确阅读错误,则重复的密钥可能为“空”。当您使用稀疏时,如果您unset当前条目为空的字段,那么您的索引应该可以正常工作。