Menu Docs
Página inicial do Docs
/ / /
Kotlin Coroutine
/

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 oMongoDB Shell para tarefas administrativas em vez do driver Kotlin 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 Kotlin.

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 .

import com.mongodb.MongoException
import com.mongodb.kotlin.client.coroutine.MongoClient
import kotlinx.coroutines.runBlocking
import org.bson.BsonDocument
import org.bson.BsonInt64
import org.bson.json.JsonWriterSettings
fun main() = runBlocking {
// Replace the uri string with your MongoDB deployment's connection string
val uri = "<connection string uri>"
val mongoClient = MongoClient.create(uri)
val database = mongoClient.getDatabase("sample_mflix")
try {
val command = BsonDocument("dbStats", BsonInt64(1))
val commandResult = database.runCommand(command)
println(commandResult.toJson(JsonWriterSettings.builder().indent(true).build()))
} catch (me: MongoException) {
System.err.println("An error occurred: $me")
}
mongoClient.close()
}
{
"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
}

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