명령 실행
MongoDatabase.runCommand()
메서드를 사용하여 모든 원본 데이터베이스 작업을 실행할 수 있습니다. 원본 데이터베이스 작업은 MongoDB Server CLI에서 직접 실행할 수 있는 명령입니다. 이러한 명령에는 서버 통계 가져오기 또는 복제본 세트 초기화와 같은 관리 및 진단 작업이 포함됩니다. MongoDatabase
인스턴스에서 Bson
명령 객체와 함께 runCommand()
메서드를 호출하여 원본 데이터베이스 작업을 실행합니다.
팁
이러한 작업은 Java 애플리케이션보다 셸을 사용하여 더 빠르고 쉽게 구현할 수 있는 경우가 많으므로 가능하면 관리 작업에는 Java 드라이버 대신 MongoDB Shell을 사용하세요.
runCommand()
메서드는 Bson
객체 형식의 명령을 받습니다. 기본적으로 runCommand
는 데이터베이스 명령의 출력을 포함하는 유형 org.bson.Document
의 객체를 반환합니다. 선택적 두 번째 매개변수로 runCommand()
의 반환 유형을 지정할 수 있습니다.
예시
다음 샘플 코드에서는 특정 MongoDB database에서 통계를 요청하기 위해 dbStats
명령을 보냅니다.
참고
이 예시 에서는 연결 URI를 사용하여 MongoDB 인스턴스 에 연결합니다. MongoDB 인스턴스 에 연결하는 방법에 학습 보려면 연결 가이드 를 참조하세요.
// Runs a database command by using the Java driver package usage.examples; import org.bson.BsonDocument; import org.bson.BsonInt64; import org.bson.Document; import com.mongodb.MongoException; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import org.bson.conversions.Bson; public class RunCommand { public static void main(String[] args) { // Replace the uri string with your MongoDB deployment's connection string String uri = "<connection string uri>"; try (MongoClient mongoClient = MongoClients.create(uri)) { MongoDatabase database = mongoClient.getDatabase("sample_mflix"); try { Bson command = new BsonDocument("dbStats", new BsonInt64(1)); // Retrieves statistics about the specified database Document commandResult = database.runCommand(command); // Prints the database statistics System.out.println("dbStats: " + commandResult.toJson()); } catch (MongoException me) { // Prints a message if any exceptions occur during the command execution System.err.println("An error occurred: " + me); } } } }
앞의 명령을 실행하면 다음과 유사한 출력이 표시됩니다.
dbStats: {"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 서버 매뉴얼 항목