使用morphia将现有索引转换为唯一(mongodb)

时间:2012-10-01 11:10:07

标签: mongodb morphia

我在使用Morhia的字段上有一个现有索引。

@Indexed
public String field;

现在我想将其转换为唯一索引。

@Indexed(unique = true)
public String field;

在应用程序启动时,我调用db.ensureIndexes() - 但索引的唯一性不会反映在mongo中。

为什么会失败?什么是实现这一目标的最佳方式?

1 个答案:

答案 0 :(得分:2)

创建后无法修改MongoDB中索引的属性;因此,您无法直接将非唯一索引转换为唯一索引。您必须先手动删除索引,然后才能将其重新创建为唯一索引。您可以使用mongo shell直接执行此操作:请参阅http://www.mongodb.org/display/DOCS/Indexes#Indexes-DroppingIndexes