Visão geral
Neste guia, vocĆŖ pode aprender como executar 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.
Exemplo de comando Executar: Arquivo completo
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 o Guia de conexão.
// 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); } } } }
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 legado, consulte a seção de perguntas frequentes do guia da API herdada para saber quais alterações devem ser feitas nesse exemplo de código.
InformaƧƵes adicionais
Documentação da API
Para obter mais informações sobre o método usado para executar comandos do banco de dados , consulte a seguinte documentação da API: