0

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

@Indexed
public String field;

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

@Indexed(unique = true)
public String field;

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

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

4

1 回答 1

2

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

于 2012-10-01T20:15:51.040 回答