Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Ejecute un comando

En esta guía, puedes aprender cómo ejecutar operaciones de base de datos en bruto usando el método MongoDatabase.runCommand(). Una operación de base de datos sin procesar es un comando que puedes ejecutar directamente en la CLI del Servidor MongoDB. Estos comandos incluyen tareas administrativas y de diagnóstico, como obtener estadísticas del servidor o inicializar un set de réplicas. Llama al método runCommand() con un objeto de comando Bson en una instancia de un 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, utiliza el MongoDB Shell en vez del driver de 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 su instancia de MongoDB, consulte la 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: