Overview
En esta guía, puedes aprender cómo ejecutar un comando de base de datos con el driver Java Reactive Streams. Puedes usar comandos de base de datos para realizar una variedad de tareas administrativas y de diagnóstico, como obtener estadísticas del servidor, iniciar un set de réplicas o ejecutar una pipeline de agregación.
Tip
Prefiera los métodos de controlador por sobre los comandos de base de datos
El driver proporciona métodos para muchos comandos de base de datos. Se recomienda utilizar métodos del controlador en lugar de ejecutar comandos de base de datos cuando sea posible.
Para realizar tareas administrativas, usa el MongoDB Shell en lugar del driver Java Reactive Streams. Llamar al método de MongoDB Shell db.runCommand() es el método preferido para emitir comandos de base de datos, ya que proporciona una interfaz coherente entre el shell y los drivers.
Importante
Proyecto Reactor librería
Esta guía utiliza la biblioteca Project Reactor para consumir Publisher instancias devueltas por los métodos del controlador de Java Reactive Streams. Para aprender más sobre la librería Proyecto Reactor y cómo utilizarla, consulta Comenzar en la documentación de Reactor. Para obtener más información sobre cómo utilizamos los métodos de la biblioteca Project Reactor en esta guía, consulta el Guía Guardar datos en MongoDB.
Ejecute un comando
Para ejecutar un comando de base de datos, especifica el comando en un documento y pásalo al método runCommand(). El siguiente código llama al método runCommand() en una base de datos para ejecutar el comando ping, que es un comando sin efecto utilizado para probar si un servidor responde.
Document command = new Document("ping", 1); Publisher<Document> commandPublisher = database.runCommand(command); Document result = Mono.from(commandPublisher).block(); System.out.println(result);
Document{{ok=1}}
Información Adicional
Para ver una lista completa de los comandos de base de datos y sus parámetros disponibles, consulte Comandos de base de datos en el manual de MongoDB Server.
Documentación de la API
Para obtener más información sobre el runCommand() método, consulte la documentación de la API runCommand().