เริ่มต้นอย่างรวดเร็ว
เชื่อมต่อ DriverMongoExecutionContext กับ MongoTemplateResolver และดำเนินการ query แรกของ Reactive Mongo DSL 1.0.0.
1. การกำหนดค่า MongoExecutionContext
MongoConfig.java
javaMongoClient mongoClient = MongoClients.create(connectionString);
MongoDatabase mongoDatabase = mongoClient.getDatabase("app");
MongoExecutionContext context =
new DriverMongoExecutionContext(mongoClient, mongoDatabase);DriverMongoExecutionContext พื้นฐานใช้ MongoDB Reactive Streams Driver โดยตรง หากกฎการตั้งชื่อ collection แตกต่างกัน สามารถส่ง resolver ชื่อ collection แยกต่างหากได้
2. การเชื่อมต่อ MongoTemplateResolver
MongoTemplateNameResolver.java
javapublic enum MongoTemplateName {
FRONT,
BACK
}
MongoTemplateResolver<MongoTemplateName> resolver = key ->
key == MongoTemplateName.BACK ? backContext : frontContext;
ReactiveMongoDsl<MongoTemplateName> dsl = new ReactiveMongoDsl<>(resolver);3. การค้นหาครั้งแรก
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();เมื่อใช้เป็น Spring Bean
ReactiveMongoDslConfiguration.java
java@Configuration
public class ReactiveMongoDslConfiguration {
@Bean
public ReactiveMongoDsl<MongoTemplateName> reactiveMongoDsl(
MongoTemplateResolver<MongoTemplateName> resolver
) {
return new ReactiveMongoDsl<>(resolver);
}
}