Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Ejecute un comando

En esta guía, puede aprender cómo ejecutar operaciones nativas de base de datos usando MongoDatabase.runCommand() método. Una operación de base de datos en bruto es un comando que puedes ejecutar directamente en la CLI de MongoDB Server. Estos comandos incluyen tareas administrativas y de diagnóstico, como obtener estadísticas del servidor o iniciar un set de réplicas. Llama al método runCommand() con un objeto de comando Bson en una instancia de MongoDatabase para ejecutar tu operación de base de datos sin procesar.

Importante

Prefiere los métodos del controlador a los comandos de base de datos

El driver proporciona métodos contenedores para muchos comandos de base de datos. Recomendamos usar métodos de driver en vez de ejecutar comandos de base de datos cuando sea posible.

Para realizar tareas administrativas, usa el MongoDB Shell en lugar del driver Java. Llamar al método db.runCommand() dentro del shell es la manera preferida de emitir un comando de base de datos, ya que proporciona una interfaz coherente entre el shell y los drivers.

El método runCommand() acepta un comando en forma de un objeto Bson. Por defecto, runCommand devuelve un objeto de tipo org.bson.Document que contiene la salida del comando de base de datos. Puedes especificar un tipo de retorno para runCommand() como un segundo parámetro opcional.

En el siguiente código de ejemplo, enviamos el comando dbStats para solicitar estadísticas de una base de datos específica de MongoDB.

Nota

Este ejemplo se conecta a una instancia de MongoDB utilizando un URI de conexión. Para obtener más información sobre cómo conectarse a tu instancia de MongoDB, consulta el guía de conexión.

// Runs a database command by using the Java driver
package org.example;
import org.bson.BsonDocument;
import org.bson.BsonInt64;
import org.bson.Document;
import com.mongodb.MongoException;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoDatabase;
import org.bson.conversions.Bson;
public class RunCommand {
public static void main(String[] args) {
// Replace the uri string with your MongoDB deployment's connection string
String uri = "<connection string uri>";
try (MongoClient mongoClient = MongoClients.create(uri)) {
MongoDatabase database = mongoClient.getDatabase("sample_mflix");
try {
Bson command = new BsonDocument("dbStats", new BsonInt64(1));
// Retrieves statistics about the specified database
Document commandResult = database.runCommand(command);
// Prints the database statistics
System.out.println("dbStats: " + commandResult.toJson());
} catch (MongoException me) {
// Prints a message if any exceptions occur during the command execution
System.err.println("An error occurred: " + me);
}
}
}
}

Al ejecutar el comando anterior, deberías ver una salida similar a la siguiente:

dbStats: {"db": "sample_mflix", "collections": 5, "views": 0, "objects": 75595, "avgObjSize": 692.1003770090614, "dataSize": 52319328, "storageSize": 29831168, "numExtents": 0, "indexes": 9, "indexSize": 14430208, "fileSize": 0, "nsSizeMB": 0, "ok": 1}

Tip

Legacy API

Si usas la API heredada, consulta la sección de preguntas frecuentes de la guía de la API heredada para conocer los cambios que debes realizar en este ejemplo de código.

Para obtener más información sobre el método utilizado para ejecutar comandos de base de datos, consulta la siguiente documentación API:

Volver

Indexes

En esta página