Docs Menu
Docs Home
/ / /
Kotlin コルーチン
/

コマンドの実行

MongoDatabase.runCommand()メソッドを使用して、すべての未加工データベース操作を実行できます。 Raw データベース操作は、MongoDB サーバー CLI で直接実行できるコマンドです。 これらのコマンドには、サーバーの統計情報の取得やレプリカセットの初期化など、管理および診断タスクが含まれます。 MongoDatabaseのインスタンスでBsonコマンド オブジェクトを使用してrunCommand()メソッドを呼び出し、未加工のデータベース操作を実行します。

Tip

可能な場合は、 Kotlin ドライバー ではなく、 MongoDB Shellを管理タスクに使用します。これらのタスクは Kotlin アプリケーションよりも shell で実装する方が速くて簡単であるためです。

runCommand()メソッドはBsonオブジェクト形式のコマンドを受け入れます。 デフォルトでは、 runCommandはデータベースコマンドの出力を含むorg.bson.Document型のオブジェクトを返します。 任意の 2 つ目のパラメータとして、 runCommand()の戻り値の型を指定できます。

次のサンプル コードでは、特定の MongoDB database から統計情報をリクエストするために、 dbStatsコマンドを送信します。

注意

この例では、接続 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
}

このページで言及されているクラスとメソッドについての追加情報については、次のリソースを参照してください。

戻る

個別のフィールド値