MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Spécifiez le nom de la collection MongoDb lors de l'exécution au démarrage de Spring

C'est un fil très ancien, mais j'ajouterai ici de meilleures informations au cas où quelqu'un d'autre trouverait cette discussion, car les choses sont un peu plus flexibles que ce que prétend la réponse acceptée.

Vous pouvez utiliser une expression pour le nom de la collection car spel est un moyen acceptable de résoudre le nom de la collection. Par exemple, si vous avez une propriété dans votre fichier application.properties comme celle-ci :

mongo.collection.name = my_docs

Et si vous créez un bean spring pour cette propriété dans votre classe de configuration comme ceci :

@Bean("myDocumentCollection")
public String mongoCollectionName(@Value("${mongo.collection.name}") final String collectionName) {
    return collectionName
}

Vous pouvez ensuite l'utiliser comme nom de collection pour un modèle de document de persistance comme celui-ci :

@Document(collection = "#{@myDocumentCollection}")
public class SomeModel {
    @Id
    private String id;
    // other members and accessors/mutators
    // omitted for brevity
}