AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

명령 실행

이 가이드 에서는 C++ 운전자 사용하여 데이터베이스 명령 실행 방법을 학습 수 있습니다. 데이터베이스 명령을 사용하여 서버 통계 가져오기, 복제본 세트 초기화 또는 집계 파이프라인 실행 과 같은 다양한 관리 및 진단 작업을 수행할 수 있습니다.

중요

데이터베이스 명령보다 드라이버 메서드를 선호합니다.

드라이버는 많은 데이터베이스 명령에 대한 래퍼 메서드를 제공합니다. 가능하면 데이터베이스 명령을 실행하는 대신 드라이버 메서드를 사용하는 것이 좋습니다.

관리 작업을 수행하려면 C++ 운전자 대신 MongoDB Shell 사용하세요. db.runCommand() 셸 내에서 메서드를 호출하는 것은 셸 과 드라이버 간에 일관적인 인터페이스를 제공하므로 데이터베이스 명령을 실행하는 데 선호되는 메서드입니다.

데이터베이스 명령 실행 하려면 mongocxx::database 인스턴스 에서 run_command() 실행 메서드를 호출하고 명령 및 관련 인수를 지정하는 문서 를 전달합니다. 이 메서드는 명령의 결과를 bsoncxx::document::value 객체 로 반환합니다.

모든 데이터베이스 명령에서 run_command() 메서드를 사용할 수 있습니다. 데이터베이스 명령의 전체 목록과 해당 매개변수를 보려면 MongoDB Server 매뉴얼의 데이터베이스 명령을 참조하세요.

다음 예시 run_command() 메서드를 사용하여 데이터베이스 에서 복제본 세트 에서 현재 멤버의 역할 에 대한 정보를 반환하는 hello 명령을 실행 방법을 보여 줍니다.

auto db = client["my_database"];
auto command = make_document(kvp("hello" , 1));
auto result = db.run_command(command.view());
std::cout << bsoncxx::to_json(result) << std::endl;

명령 실행 동작을 사용자 지정하려면 run_command() 메서드에 전달하는 명령 문서 에서 옵션을 설정하다 수 있습니다. 명령과 해당 명령이 허용하는 옵션에 대해 자세히 학습 명령을 찾아 MongoDB Server 매뉴얼의 데이터베이스 명령 페이지에서 해당 링크를 클릭하세요.

예시 를 들어 명령 문서 에서 showPrivileges 옵션을 true 로 설정하여 현재 인증된 사용자가 소유한 전체 권한 설정하다 반환하도록 connectionStatus 명령에 지시할 수 있습니다.

auto db = client["my_database"];
auto command = make_document(kvp("connectionStatus" , 1), kvp("showPrivileges", true));
auto result = db.run_command(command.view());
std::cout << bsoncxx::to_json(result) << std::endl;

run_command() 메서드는 명령이 실행된 후 데이터베이스 의 응답이 포함된 bsoncxx::document::value 객체 반환합니다. 각 데이터베이스 명령 서로 다른 기능을 수행하므로 응답 내용은 명령에 따라 다를 수 있습니다. 그러나 모든 응답에는 다음 필드가 있는 문서가 포함되어 있습니다.

필드
설명

<command result>

데이터베이스 명령과 관련된 필드를 제공합니다. 예를 들어 count 은 n 필드를 반환하고 explain 는 queryPlanner 필드를 반환합니다.

ok

명령에 성공했는지(1) 또는 실패했는지(0) 여부를 나타냅니다.

operationTime

작업의 논리적 시간을 나타냅니다. MongoDB는 논리적 시간을 사용하여 작업의 순서를 지정합니다.

$clusterTime

서명된 cluster 시간을 반환하는 문서를 제공합니다. cluster 시간은 작업 순서를 지정하는 데 사용되는 논리적 시간입니다.

이 문서에는 다음 필드가 포함되어 있습니다:

  • clusterTime, 해당 멤버에 대해 알려진 가장 높은 cluster 시간의 타임스탬프입니다.

  • signature은(는) 클러스터 시간의 해시와 클러스터 시간을 서명하는 데 사용된 키의 ID를 포함하는 문서입니다.

이 가이드의 개념에 대한 자세한 내용은 다음 문서를 참조하세요.

이 가이드에 설명된 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.

이 페이지 평가하기