Menu Docs
Página inicial do Docs
/ / /
Java síncrono
/

Execute um comando

Você pode executar todas as operações do banco de dados bruto utilizando o método MongoDatabase.runCommand(). Uma operação de banco de dados bruto é um comando que você pode executar diretamente na CLI do MongoDB Server. Esses comandos incluem tarefas administrativas e de diagnóstico, como buscar estatísticas do servidor ou inicializar um conjunto de réplicas. Chame o método runCommand() com um objeto de comando Bson em uma instância de um MongoDatabase para executar sua operação de banco de dados bruto.

Dica

Use o MongoDB Shell para tarefas administrativas em vez do driver Java sempre que possível, já que essas tarefas geralmente são mais rápidas e fáceis de implementar com a shell do que em um aplicativo Java.

O método runCommand() aceita um comando na forma de um objeto Bson. Por padrão, o runCommand retorna um objeto do tipo org.bson.Document contendo a saída do comando do banco de dados. Você pode especificar um tipo de retorno para runCommand() como um segundo parâmetro opcional.

No código de amostra a seguir, enviamos o comando dbStats para solicitar estatísticas de um banco de dados MongoDB específico.

Observação

Esse exemplo se conecta a uma instância do MongoDB usando um URI de conexão. Para saber mais sobre como se conectar à sua instância do MongoDB , consulte oguia de conexão .

package usage.examples;
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));
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);
}
}
}
}

Ao executar o comando anterior, você verá uma saída semelhante a esta:

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}

Dica

Legacy API

Se você estiver usando a API herdada, consulte nossa página de perguntas frequentes para saber quais alterações devem ser feitas nesse exemplo de código.

Para obter informações adicionais sobre as classes e métodos mencionados nesta página, consulte os seguintes recursos:

  • Documentação da API do runCommand()

  • Comandos de banco de dados Entrada manual do servidor

  • dbStats Entrada manual do servidor

Voltar

Recuperar valores distintos de um campo