Docs 菜单
Docs 主页
/ / /
Kotlin 协程
/

运行命令

您可以使用 MongoDatabase.runCommand() 方法运行所有原始数据库操作。原始数据库操作是可以在 MongoDB Server CLI 上直接执行的命令。这些命令包括管理和诊断任务,如获取服务器统计数据或初始化副本集。在 MongoDatabase 的实例上调用带有 Bson 命令对象的 runCommand() 方法,运行原始数据库操作。

提示

尽可能使用 MongoDB ShellKotlin而不是 驱动程序来执行管理任务,因为与 应用程序相比,使用 来实现这些任务通常更快、更容易。shellKotlin

runCommand() 方法接受 Bson 对象形式的命令。默认情况下,runCommand 返回类型为 org.bson.Document 的对象,其中包含数据库命令的输出结果。作为可选的第二个参数,您可以指定 runCommand() 的返回类型。

在以下样本代码中,我们发送 dbStats 命令以请求特定 MongoDB 数据库的统计信息。

注意

此示例使用连接 URI 连接到MongoDB实例。 要学习;了解有关连接到MongoDB实例的更多信息,请参阅连接指南。

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
}

有关此页面上所提及的类和方法的更多信息,请参阅以下资源:

后退

非重复字段值