Docs Menu

명령 실행

MongoDatabase.runCommand() 메서드를 사용하여 모든 원본 데이터베이스 작업을 실행할 수 있습니다. 원본 데이터베이스 작업은 MongoDB Server CLI에서 직접 실행할 수 있는 명령입니다. 이러한 명령에는 서버 통계 가져오기 또는 복제본 세트 초기화와 같은 관리 및 진단 작업이 포함됩니다. MongoDatabase 인스턴스에서 Bson 명령 객체와 함께 runCommand() 메서드를 호출하여 원본 데이터베이스 작업을 실행합니다.

이러한 작업은 애플리케이션보다 을 사용하여 MongoDB Shell 구현하는 것이 더 빠르고 쉬운 경우가 많으므로 Kotlin shell Kotlin 가능하면 드라이버 대신 을 관리 작업에 사용합니다.

runCommand() 메서드는 Bson 객체 형식의 명령을 받습니다. 기본적으로 runCommand는 데이터베이스 명령의 출력을 포함하는 유형 org.bson.Document의 객체를 반환합니다. 선택적 두 번째 매개변수로 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
}

이 페이지에 언급된 클래스 및 메서드에 대한 추가 정보는 다음 리소스를 참조하세요.