本文介绍了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 在并非所有文档中的字段上创建唯一索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-18 18:39