El driver Java Reactive Streams es una implementación de la API Reactive Streams, que consta de tres componentes:
PublisherSubscriberSubscription
Un Publisher es un proveedor de un número ilimitado de elementos secuenciados, publicados según la demanda recibida de su Subscriber o de múltiples instancias de Subscriber. Un Subscription representa un ciclo de vida uno a uno de un Subscriber suscrito a un Publisher.
Tip
Para obtener más información sobre los flujos reactivos, visite el Documentación de Reactive Streams.
En este tutorial, debe implementar Java Reactive Streams Subscribers para consultar su base de datos. Esta guía utiliza métodos de la biblioteca Reactor, una biblioteca basada en la especificación Reactive Streams para implementar Java Reactive Streams Subscribers.
Para obtener más información sobre la biblioteca Reactor, consulte Primeros pasos en la documentación del proyecto Reactor.
Cree su aplicación de controlador Java Reactive Streams
Debe usar un proyecto dentro de un entorno de desarrollo integrado (IDE) para completar los siguientes pasos. En su proyecto, cree un nuevo archivo Java en el paquete Java llamado QueryDatabase. Copie y pegue el siguiente código en el archivo 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 URI>"; // 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(); } } }
Asignar la cadena de conexión
Reemplace el marcador de posición <connection string> con la cadena de conexión que copió de Paso Crear una cadena de conexión de esta guía.
Ejecutar la aplicación
Ejecute su aplicación, ya sea en su IDE o en su shell. El resultado indica que se conectó a MongoDB y consultó la base de datos.
{ _id: ..., plot: 'A young man is accidentally sent 30 years into the past...', genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ], ... title: 'Back to the Future', ... }
Tip
Si encuentra un error, verifique si especificó la cadena de conexión adecuada y si cargó los datos de muestra.
Después de completar estos pasos, tendrá una aplicación funcional que usa el controlador para conectarse a su implementación de MongoDB, consulta la base de datos e imprime el resultado.
Nota
Si tiene problemas en este paso, envíe sus comentarios mediante el Rate this page pestaña en el lado derecho o inferior derecho de esta página.
Puede encontrar soporte para preguntas generales mediante la etiqueta Stack Overflow de MongoDB o la comunidad de Reddit de MongoDB.