Démarrage rapide
Nous connectons DriverMongoExecutionContext et MongoTemplateResolver et exécutons la première requête de Reactive Mongo DSL 1.0.0.
1. Configuration de MongoExecutionContext
MongoConfig.java
javaMongoClient mongoClient = MongoClients.create(connectionString);
MongoDatabase mongoDatabase = mongoClient.getDatabase("app");
MongoExecutionContext context =
new DriverMongoExecutionContext(mongoClient, mongoDatabase);Le DriverMongoExecutionContext par défaut utilise directement le pilote MongoDB Reactive Streams. Si les règles de nommage des collections diffèrent, un résolveur de nom de collection distinct peut être fourni.
2. Connexion de MongoTemplateResolver
MongoTemplateNameResolver.java
javapublic enum MongoTemplateName {
FRONT,
BACK
}
MongoTemplateResolver<MongoTemplateName> resolver = key ->
key == MongoTemplateName.BACK ? backContext : frontContext;
ReactiveMongoDsl<MongoTemplateName> dsl = new ReactiveMongoDsl<>(resolver);3. Première consultation
UserService.java
javaFlux<User> users = dsl
.executeEntity(User.class, MongoTemplateName.FRONT)
.fields(
pair("status", "ACTIVE"),
minAge == null ? null : pair("age", minAge, gte)
)
.end()
.findAll()
.sorts(sort -> sort.desc("createdAt"))
.execute();Lors de l'utilisation comme Spring Bean
ReactiveMongoDslConfiguration.java
java@Configuration
public class ReactiveMongoDslConfiguration {
@Bean
public ReactiveMongoDsl<MongoTemplateName> reactiveMongoDsl(
MongoTemplateResolver<MongoTemplateName> resolver
) {
return new ReactiveMongoDsl<>(resolver);
}
}