개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.06 17:17

MongoDBDriverManager::executeQuery 사용 시 오류 발생

목록
  • 리버스엔지니어링도령 오래 전 2025.06.06 17:17
  • 95
    1
제가 MongoDBDriverManager::executeQuery를 사용하여 MongoDB 데이터베이스에 쿼리를 실행하는 코드를 작성했는데, 다음과 같은 오류가 발생합니다.

cpp

#include 

#include 



int main() {

    // MongoDB 연결 설정

    mongo::MongoClientSettings settings;

    settings.parse("mongodb://localhost:27017");



    // MongoDBDriverManager 객체 생성

    mongo::DriverManager driverManager(settings);



    // 쿼리 실행

    mongo::BSONObj query = BSON("name" << "John");

    mongo::Cursor cursor = driverManager.executeQuery("mydatabase", "mycollection", query);



    // 결과 출력

    while (cursor.next()) {

        mongo::BSONObj obj = cursor.current();

        std::cout << obj << std::endl;

    }



    return 0;

}



오류 메시지는 다음과 같습니다.



error: ‘mongo::MongoClientSettings’ is not a class

  settings.parse("mongodb://localhost:27017");



이 오류는 무엇을 의미하고 어떻게 해결할 수 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    오류는 `mongo::MongoClientSettings`이 클래스가 아닌 것으로 인식되는 것입니다. 이는 MongoDB C++ 드라이버의 버전 문제로 인한 것 같습니다.

    MongoDB C++ 드라이버의 최신 버전은 `MongoClientSettings`을 사용하지 않고 `MongoClientSettingsBuilder`를 사용합니다.

    오류를 해결하기 위해 다음 코드를 사용할 수 있습니다.

    #hostingforum.kr
    cpp
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        // MongoDB 연결 설정
    
        mongo::MongoClientSettingsBuilder settingsBuilder;
    
        settingsBuilder.hosts(mongo::HostString("localhost:27017"));
    
        mongo::ClientSettings settings = settingsBuilder.build();
    
    
    
        // MongoDBDriverManager 객체 생성
    
        mongo::DriverManager driverManager(settings);
    
    
    
        // 쿼리 실행
    
        mongo::BSONObj query = BSON("name" << "John");
    
        mongo::Cursor cursor = driverManager.executeQuery("mydatabase", "mycollection", query);
    
    
    
        // 결과 출력
    
        while (cursor.next()) {
    
            mongo::BSONObj obj = cursor.current();
    
            std::cout << obj << std::endl;
    
        }
    
    
    
        return 0;
    
    }
    
    


    이 코드는 `MongoClientSettingsBuilder`를 사용하여 `MongoClientSettings`을 생성합니다.

    2025-06-06 17:18

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,338건 / 1 페이지

검색

게시물 검색