명령 실행
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 }
이 페이지에 언급된 클래스 및 메서드에 대한 추가 정보는 다음 리소스를 참조하세요.
runCommand() API 설명서
데이터베이스 명령 서버 매뉴얼 항목
dbStats 서버 매뉴얼 항목