连接到 MongoDB
Java 反应式流驱动程序是反应式流 API 的实现,该 API 包含三个组件
发布者
订阅者
订阅
发布者
是提供无界序列元素的数量提供者,根据其 订阅者
或多个 订阅者
的需求进行发布。一个 订阅
代表一个 订阅者
订阅到 发布者
的一对一生命周期。
提示
了解更多关于响应式流的资料,请访问响应式流文档.
在本教程中,您必须实现Java响应式流的订阅者
来查询您的数据库。本指南使用Reactor库的方法,这是一个基于响应式流规范的库,用于实现Java响应式流的订阅者
。
了解更多关于Reactor库的信息,请参阅Project Reactor文档中的入门。
1
创建Java响应式流驱动应用程序
您必须使用集成开发环境(IDE)中的项目来完成以下步骤。在您的项目中,在Java
包中创建一个名为QueryDatabase
的新Java文件。将以下代码复制并粘贴到QueryDatabase
文件中
import com.mongodb.*; import com.mongodb.reactivestreams.client.MongoCollection; import org.bson.Document; import reactor.core.publisher.Mono; import com.mongodb.reactivestreams.client.MongoClient; import com.mongodb.reactivestreams.client.MongoClients; import com.mongodb.reactivestreams.client.MongoDatabase; import static com.mongodb.client.model.Filters.eq; public class QueryDatabase { public static void main(String[] args) { // Replace the placeholder with your Atlas connection string String uri = "<connection string>"; // Construct a ServerApi instance using the ServerApi.builder() method ServerApi serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build(); MongoClientSettings settings = MongoClientSettings.builder() .applyConnectionString(new ConnectionString(uri)) .serverApi(serverApi) .build(); // Create a new client and connect to the server try (MongoClient mongoClient = MongoClients.create(settings)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); MongoCollection<Document> movies = database.getCollection("movies"); Mono.from(movies.find(eq("title", "Back to the Future"))) .doOnSuccess(i -> System.out.println(i)) .doOnError(err -> System.out.println("Error: " + err.getMessage())) .block(); } } }
2
分配连接字符串
将复制的连接字符串替换到 <连接字符串>
占位符中。请参考本指南的创建连接字符串 步骤。
完成这些步骤后,你将有一个使用驱动程序连接到你的MongoDB部署、查询数据库并打印结果的运行中的应用程序。
注意
如果你在这一步遇到问题,请在MongoDB社区论坛寻求帮助或使用此页面的右上角或右下角的评分此页标签提交反馈。