文档菜单
文档首页
/ / /
Java 反应式流驱动程序
/

连接到 MongoDB

Java 反应式流驱动程序是反应式流 API 的实现,该 API 包含三个组件

  • 发布者

  • 订阅者

  • 订阅

发布者 是提供无界序列元素的数量提供者,根据其 订阅者 或多个 订阅者 的需求进行发布。一个 订阅 代表一个 订阅者 订阅到 发布者 的一对一生命周期。

提示

了解更多关于响应式流的资料,请访问响应式流文档.

在本教程中,您必须实现Java响应式流的订阅者来查询您的数据库。本指南使用Reactor库的方法,这是一个基于响应式流规范的库,用于实现Java响应式流的订阅者

了解更多关于Reactor库的信息,请参阅Project Reactor文档中的入门

1

您必须使用集成开发环境(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

将复制的连接字符串替换到 <连接字符串> 占位符中。请参考本指南的创建连接字符串 步骤。

3

运行你的应用程序,无论是在你的IDE中还是在你的shell中。输出显示你已经连接到MongoDB并查询了数据库。

{
_id: ...,
plot: 'A young man is accidentally sent 30 years into the past...',
genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ],
...
title: 'Back to the Future',
...
}

提示

如果你遇到错误,请检查你是否指定了正确的连接字符串,并且是否加载了示例数据。

完成这些步骤后,你将有一个使用驱动程序连接到你的MongoDB部署、查询数据库并打印结果的运行中的应用程序。

注意

如果你在这一步遇到问题,请在MongoDB社区论坛寻求帮助或使用此页面的右上角或右下角的评分此页标签提交反馈。

返回

创建连接字符串