2015-06-11 75 views
7

我正在使用Spring Data MongoDB开发应用程序。我想在我的一个模型上创建一个复合索引。我在顶部添加了@CompoundIndex注释,如下所示:@CompoundIndex在Spring Data MongoDB中不起作用

@Document 
@CompoundIndexes({ 
    @CompoundIndex(name = "name_", def = "{ 'tenantId': 1, 'name': 1 }", unique = true) 
}) 
public class MyModel { 

} 

但是,索引未创建。我也试图直接将@CompoundIndex放在课堂上方。该集合仍然缺少索引。当像这样创建的相同指标的定义是工作的罚款:

mongoTemplate.indexOps(MyModel.class).ensureIndex(new Index().named("name_").on("tenantId", Direction.ASC).on("name", Direction.ASC).unique()); 

我宁愿使用索引的基于注解的定义。任何想法为什么这不起作用?

+0

您是否尝试过http://pastebin.com/PynPCgRY? – chridam

+0

我现在做了,它不会改变行为... – fynn

+0

嗨!我可以请你发布整个申请吗?至少能够提供Spring上下文会很好。 – danidemi

回答