Menu Docs
Página inicial do Docs
/ / /
Driver de sincronização Java
/

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.

Importante

Preferir métodos de driver em vez de reconhecimento de data center

O driver fornece métodos wrapper para muitos comandos de banco de dados. Recomendamos usar métodos de driver em vez de executar comandos de banco de dados quando possível.

Para executar tarefas administrativas, use o MongoDB Shell em vez do driver Java. Chamar o método db.runCommand() dentro do shell é a maneira preferida de emitir comandos do banco de dados, pois ele fornece uma interface consistente entre o shell e os drivers.

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 .

// Runs a database command by using the Java driver
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));
// 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);
}
}
}
}

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:

Voltar

Recuperar valores distintos de um campo