
MongoDBDriverManager::executeCommand는 MongoDB 3.6 버전 이후부터 지원되지 않는 메소드입니다. 대신 MongoDB 3.6 버전 이후부터는 MongoDB::executeCommand를 사용해야 합니다.
executeCommand 메소드를 사용하여 MongoDB에 명령을 실행할 때는 MongoDB::executeCommand 메소드의 첫 번째 인자로 MongoDB::Command를 전달해야 합니다. MongoDB::Command는 MongoDB의 명령을 나타내는 클래스입니다.
예를 들어, MongoDB::executeCommand를 사용하여 MongoDB의 ping 명령을 실행하려면 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
cpp
#include
#include
#include
int main() {
mongocxx::instance instance;
mongocxx::uri uri("mongodb://localhost:27017");
mongocxx::client conn(uri);
auto command = bsoncxx::builder::stream::document{} << "ping" << bsoncxx::builder::stream::finalize;
auto result = conn["admin"].run_command(command);
if (result) {
std::cout << bsoncxx::to_json(result) << std::endl;
} else {
std::cerr << "Error: " << result->code() << std::endl;
}
return 0;
}
이 코드는 MongoDB의 ping 명령을 실행하고 결과를 출력합니다.
이 메소드가 지원되지 않는 이유는 MongoDBDriverManager::executeCommand가 MongoDB의 내부 구현을 직접적으로 조작하는 메소드였기 때문입니다. MongoDB 3.6 버전 이후부터는 MongoDB::executeCommand를 사용하여 명령을 실행해야 합니다.
2025-07-14 23:27