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
java
MongoClient 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
java
public 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
java
Flux<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);
  }
}
© 2026 Byeolnaerim. Bảo lưu mọi quyền.Giới thiệuChính sách xử lý thông tin cá nhân