2015-06-11 21 views
7

Sto lavorando a un'applicazione che utilizza Spring Data MongoDB. Vorrei creare un indice composto su uno dei miei modelli. Ho aggiunto un'annotazione @CompoundIndex in alto in questo modo:@CompoundIndex non funziona in Spring Data MongoDB

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

} 

Tuttavia, l'indice non viene creato. Ho anche provato a collocare direttamente lo @CompoundIndex sopra la classe. La collezione manca ancora l'indice. La stessa definizione di indice sta lavorando bene quando creato in questo modo:

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

preferisco usare la definizione di annotazione a base dell'indice. Qualche idea sul perché questo non funziona?

+0

Hai provato http://pastebin.com/PynPCgRY? – chridam

+0

L'ho fatto adesso e non cambia il comportamento ... – fynn

+0

Ciao! Posso chiederti di postare l'intera applicazione? Sarebbe fantastico se riuscissi a fornire almeno il contesto di Primavera. – danidemi

risposta

Problemi correlati