【问题标题】:Convert existing index to unique (mongodb) using morphia使用 morphia 将现有索引转换为唯一的(mongodb)
【发布时间】:2012-10-01 11:10:06
【问题描述】:

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

@Indexed
public String field;

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

@Indexed(unique = true)
public String field;

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

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

【问题讨论】:

  • 而且初始索引已经被Morphia创建了,你丢掉它还在创建吗?如果不再创建索引,请检查是否在正确的包上调用了 ensureIndexes()。我曾经重构过我的包结构,但不是在ensureIndexes() 调用中,并且无法弄清楚为什么不再创建我的索引;-)

标签: mongodb morphia


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-04-17
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 2016-10-28
    • 2016-09-12
    相关资源
    最近更新 更多