本文介绍了MongoDb 在并非所有文档中的字段上创建唯一索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在生产 Mongo 数据库中添加了一个新字段,需要在其上创建唯一索引.如果我尝试创建一个,它会不断抛出异常:E11000 重复键错误索引:".
I added a new field in the production Mongo Database and need to create a unique index on it. If I try to create one it keeps throwing 'exception: E11000 duplicate key error index:'.
我知道没有新字段的文档有一个 null
值,这会导致唯一性违规.我该怎么做?
I understand documents without the new field have a null
value which is causing the uniqueness violation. How should I do it?
推荐答案
您可以使用 稀疏索引,其中仅包含具有索引字段的文档的条目.示例:
You can use Sparse Index which contain only entries for documents that have the indexed field. Example:
db.collection.createIndex( { "newIndex": 1 }, { sparse: true } )
这篇关于MongoDb 在并非所有文档中的字段上创建唯一索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!