クイックスタート
DriverMongoExecutionContextとMongoTemplateResolverを接続し、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を直接使用します。コレクション名の規則が異なる場合は、別のコレクション名リゾルバを渡すことができます。
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);
}
}