sql >> Database >  >> NoSQL >> MongoDB

Specificeer de MongoDb-verzamelingsnaam tijdens runtime in Spring boot

Dit is een heel oude thread, maar ik zal hier wat betere informatie toevoegen voor het geval iemand anders deze discussie vindt, omdat de dingen een beetje flexibeler zijn dan wat het geaccepteerde antwoord beweert.

U kunt een expressie gebruiken voor de collectienaam, omdat spel een acceptabele manier is om de collectienaam op te lossen. Als u bijvoorbeeld een eigenschap als deze in uw bestand application.properties heeft:

mongo.collection.name = my_docs

En als u een lenteboon maakt voor deze eigenschap in uw configuratieklasse als volgt:

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

Dan kunt u dat gebruiken als de collectienaam voor een persistentiedocumentmodel zoals dit:

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


  1. Hoe de vervaldatum in te stellen op meerdere sleutels in Redis

  2. Hoe mongodb-gegevens en de locatie van logbestanden te vinden via een opdracht?

  3. Paginering implementeren met MongoDB, Express.js &Slush

  4. MongoDB:vraag door @DBref