Questo è un thread molto vecchio, ma aggiungerò alcune informazioni migliori qui nel caso qualcun altro trovi questa discussione, perché le cose sono un po' più flessibili di quanto afferma la risposta accettata.
È possibile utilizzare un'espressione per il nome della raccolta perché la spel è un modo accettabile per risolvere il nome della raccolta. Ad esempio, se hai una proprietà nel tuo file application.properties come questa:
mongo.collection.name = my_docs
E se crei un bean di primavera per questa proprietà nella tua classe di configurazione in questo modo:
@Bean("myDocumentCollection")
public String mongoCollectionName(@Value("${mongo.collection.name}") final String collectionName) {
return collectionName
}
Quindi puoi usarlo come nome della raccolta per un modello di documento di persistenza come questo:
@Document(collection = "#{@myDocumentCollection}")
public class SomeModel {
@Id
private String id;
// other members and accessors/mutators
// omitted for brevity
}