Bắt đầu nhanh
Kết nối DriverMongoExecutionContext với MongoTemplateResolver và thực thi truy vấn đầu tiên của Reactive Mongo DSL 1.0.0.
1. Cấu hình MongoExecutionContext
MongoConfig.java
javaMongoClient mongoClient = MongoClients.create(connectionString);
MongoDatabase mongoDatabase = mongoClient.getDatabase("app");
MongoExecutionContext context =
new DriverMongoExecutionContext(mongoClient, mongoDatabase);DriverMongoExecutionContext cơ bản sử dụng trực tiếp MongoDB Reactive Streams Driver. Nếu quy tắc đặt tên collection khác nhau, có thể truyền một resolver tên collection riêng.
2. Kết nối MongoTemplateResolver
MongoTemplateNameResolver.java
javapublic enum MongoTemplateName {
FRONT,
BACK
}
MongoTemplateResolver<MongoTemplateName> resolver = key ->
key == MongoTemplateName.BACK ? backContext : frontContext;
ReactiveMongoDsl<MongoTemplateName> dsl = new ReactiveMongoDsl<>(resolver);3. Lần tra cứu đầu tiên
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();Khi sử dụng như một Spring Bean
ReactiveMongoDslConfiguration.java
java@Configuration
public class ReactiveMongoDslConfiguration {
@Bean
public ReactiveMongoDsl<MongoTemplateName> reactiveMongoDsl(
MongoTemplateResolver<MongoTemplateName> resolver
) {
return new ReactiveMongoDsl<>(resolver);
}
}