Inicio Rápido
Conectar DriverMongoExecutionContext y MongoTemplateResolver y ejecutar la primera consulta de Reactive Mongo DSL 1.0.0.
1. Configuración de MongoExecutionContext
MongoConfig.java
javaMongoClient mongoClient = MongoClients.create(connectionString);
MongoDatabase mongoDatabase = mongoClient.getDatabase("app");
MongoExecutionContext context =
new DriverMongoExecutionContext(mongoClient, mongoDatabase);El DriverMongoExecutionContext básico utiliza directamente el Driver de MongoDB Reactive Streams. Si las reglas de nomenclatura de la colección son diferentes, se puede proporcionar un resolutor de nombre de colección separado.
2. Conexión 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. Primera consulta
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();Al usar como Bean de Spring
ReactiveMongoDslConfiguration.java
java@Configuration
public class ReactiveMongoDslConfiguration {
@Bean
public ReactiveMongoDsl<MongoTemplateName> reactiveMongoDsl(
MongoTemplateResolver<MongoTemplateName> resolver
) {
return new ReactiveMongoDsl<>(resolver);
}
}