Docs Menu
Docs Home
/ /

Ejecute un comando

En esta guía, puede aprender a ejecutar operaciones de base de datos sin procesar utilizando el MongoDatabase.runCommand() Método. Una operación de base de datos sin procesar es un comando que se puede ejecutar directamente en la CLI de MongoDB Server. Estos comandos incluyen tareas administrativas y de diagnóstico, como obtener las estadísticas del servidor o inicializar un conjunto de réplicas. Llame al método runCommand() con un objeto de comando Bson en una instancia de MongoDatabase para ejecutar la operación de base de datos sin procesar.

Importante

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

El controlador proporciona métodos de encapsulamiento para numerosos comandos de base de datos. Recomendamos usar métodos de controlador en lugar de ejecutar comandos de base de datos siempre que sea posible.

Para realizar tareas administrativas, utilice el MongoDB Shell en lugar del controlador Java. Llamar al db.runCommand() método dentro del shell es la forma preferida de ejecutar comandos de base de datos, ya que proporciona una interfaz consistente entre el shell y los controladores.

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 mediante una URI de conexión. Para obtener más información sobre cómo conectarse a su instancia de MongoDB, consulte 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);
}
}
}
}

Cuando ejecute el comando anterior, debería ver un resultado similar al 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, consulte la siguiente documentación de API:

Volver

Indexes

En esta página