【发布时间】:2013-05-31 13:43:00
【问题描述】:
我正在尝试在 MongoDB 中的一组字段上添加唯一索引。并非所有这些字段在所有文档中都可用,我只想索引具有所有字段的那些。
所以,我正在尝试运行这个:
db.mycollection.ensureIndex({date:1, type:1, reference:1}, {sparse: true, unique: true})
但我在缺少“类型”字段的字段上收到错误E11000 duplicate key error index(其中有很多而且它们是重复的,但我只想忽略它们)。
在 MongoDB 中是否可行或有一些解决方法?
【问题讨论】:
-
sparse 意味着不要索引缺少您要索引的字段的文档。除非您想跳过没有设置任何字段的文档,否则这对复合索引没有意义。
-
@AsyaKamsky 是的,我知道它是如何工作的,我正在寻找解决这个限制的方法。
-
已经在同一问题上提交了一个错误:jira.mongodb.org/browse/SERVER-2193