C++ 드라이버 시작하기
이 페이지의 내용
개요
MongoDB C++ 드라이버 는 MongoDB 에 연결하고 배포서버 서버에 저장된 데이터와 상호 작용 하는 데 사용할 수 있는 C++ 패키지 입니다. 이 가이드 에서는 C++ 운전자 를 사용하여 MongoDB Atlas 에서 호스팅되는 MongoDB cluster 에 연결하고 클러스터 의 데이터를 쿼리 하는 애플리케이션 을 만드는 방법을 보여줍니다.
팁
MongoDB Atlas는 관리형 클라우드 데이터베이스 서비스로, MongoDB deployment를 호스팅합니다. 이 가이드의 단계에 따라 자체 무료(신용카드 필요 없음) MongoDB Atlas 배포서버를 생성할 수 있습니다.
이 가이드 에 따라 샘플 C++ 애플리케이션 을 MongoDB Atlas 배포서버 에 연결합니다. 다른 운전자 또는 프로그래밍 언어 를 사용하여 MongoDB 에 연결하려는 경우 공식 드라이버 목록을 참조하세요.
다운로드 및 설치
종속성 설치
이 튜토리얼을 시작하기 전에 개발 환경에 다음 종속성이 설치되어 있는지 확인하세요.
C++17 를 지원하는 컴파일러(예:GCC, Clang 또는 Visual Studio
CMake v3.15 이상
참고
C++17 이전 구성
C++11 가 지원되는 최소 언어 버전이지만, 이 튜토리얼에서는 C++17 폴리필 구성 섹션에서 권장하는 대로 C++ 표준 라이브러리를 사용하도록17 C++ 운전자 구성합니다. C++ 이전 구성용 운전자 설치하려면17 CMAKE_CXX_STANDARD
구성 옵션을 C++ 버전으로 설정하다 . 그런 다음 운전자 필요한 C++17 기능에 대해 자동으로 bsoncxx 라이브러리 폴리필 구현을 사용합니다.
C++ 운전자 다운로드
리포지토리 에서 최신 버전의 C++ 운전자 를 mongo-cxx-driver
Github shell 다운로드 하려면 루트 디렉토리 의 에서 다음 명령을 실행 합니다.
curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r4.0.0/mongo-cxx-driver-r4.0.0.tar.gz tar -xzf mongo-cxx-driver-r4.0.0.tar.gz cd mongo-cxx-driver-r4.0.0/build
설치할 운전자 구성
운영 체제에 해당하는 탭 을 선택하고 mongo-cxx-driver-r4.0.0/build
디렉토리 에서 다음 명령을 실행 합니다.
cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17
이 명령은 CMake가 /usr/local
디렉토리 에 mongocxx
을(를) 설치하도록 지시합니다.
'C:\<path>\cmake.exe' .. \ -G "Visual Studio <version> <year>" -A "x64" \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_INSTALL_PREFIX=C:\mongo-cxx-driver \
이 명령은 CMake가 C:\mongo-cxx-driver
디렉토리 에 mongocxx
을(를) 설치하도록 지시합니다. 다음 자리 표시자 값을 바꿉니다.
<path>
: CMake 실행 파일의 경로<version>
: Visual Studio 버전 번호<year>
: Visual Studio 버전에 해당하는 연도
이 단계를 완료하면 컴퓨터에 C++ 운전자 가 설치됩니다.
MongoDB Deployment 생성
MongoDB Atlas에 프리 티어 MongoDB 배포를 생성하여 데이터를 저장하고 관리할 수 있습니다. MongoDB Atlas는 클라우드에서 MongoDB database를 호스팅하고 관리합니다.
Atlas에 무료 MongoDB 배포서버 생성
Atlas 시작하기 가이드를 완료하여 새 Atlas 계정을 설정하고 새로운 프리 계층 MongoDB 배포서버에 샘플 데이터를 로드하세요.
이 단계를 완료하면 Atlas에 새로운 프리 티어 MongoDB 배포서버, 데이터베이스 사용자 자격 증명 및 샘플 데이터가 데이터베이스에 로드됩니다.
연결 문자열 만들기
연결 문자열이라고도 하는 연결 URI을 제공하여 MongoDB 배포서버에 연결할 수 있으며, 이 연결 문자열은 드라이버에 MongoDB 배포서버로 연결하는 방법과 연결된 동안 동작하는 방법을 지시합니다.
연결 문자열에는 배포서버의 호스트 이름 또는 IP 주소와 포트, 인증 메커니즘, 해당되는 경우 사용자 자격 증명, 연결 옵션 등이 포함됩니다.
Atlas 에서 호스팅되지 않는 인스턴스 또는 배포서버 에 연결하려면 연결 대상 선택 가이드 를 참조하세요.
MongoDB Atlas 연결 문자열 찾기
이전 단계에서 만든 배포서버에 대한 연결 문자열 조회 하려면 Atlas 계정에 로그인 Database 섹션으로 이동한 다음 새 배포서버에 대한 Connect 버튼을 클릭합니다.

Connect your application 섹션으로 이동하여 Driver 선택 메뉴에서 "C++"를 선택하고 Version 선택 메뉴에서 설치한 버전과 가장 일치하는 버전을 선택합니다.
Password (SCRAM) 인증 메커니즘을 선택합니다.
연결 string 만 보려면 Include full driver code example 옵션을 선택 취소합니다.
이 단계를 완료하면 클러스터 에 해당하는 연결 string Atlas 이 생성됩니다.
샘플 쿼리 실행
C++ 운전자 애플리케이션 만들기
다음 코드를 복사하여 sample_mflix
데이터베이스 의 movies
컬렉션 을 쿼리하는 quickstart.cpp
파일 에 붙여넣습니다.
#include <cstdint> #include <iostream> #include <vector> #include <bsoncxx/builder/basic/document.hpp> #include <bsoncxx/json.hpp> #include <mongocxx/client.hpp> #include <mongocxx/instance.hpp> #include <mongocxx/uri.hpp> using bsoncxx::builder::basic::kvp; using bsoncxx::builder::basic::make_document; int main() { mongocxx::instance instance; mongocxx::uri uri("<connection string>"); mongocxx::client client(uri); auto db = client["sample_mflix"]; auto collection = db["movies"]; auto result = collection.find_one(make_document(kvp("title", "The Shawshank Redemption"))); std::cout << bsoncxx::to_json(*result) << std::endl; }
연결 문자열 할당
<connection string>
자리 표시자를 이 가이드의 연결 문자열 만들기 단계에서 복사한 연결 문자열로 바꿉니다.
C++ 애플리케이션 실행
shell 에서 다음 명령을 실행 하여 이 애플리케이션 을 컴파일하고 실행 합니다.
c++ --std=c++17 quickstart.cpp $(pkg-config --cflags --libs libmongocxx) -o ./app.out ./app.out
팁
MacOS 사용자는 이전 명령을 실행 한 후 다음 오류가 표시될 수 있습니다.
dyld[54430]: Library not loaded: @rpath/libmongocxx._noabi.dylib
이 오류를 해결하려면 다음 코드에 표시된 대로 -Wl,-rpath
링커 옵션을 사용하여 @rpath
을 설정하다 합니다.
c++ --std=c++17 quickstart.cpp -Wl,-rpath,/usr/local/lib/ $(pkg-config --cflags --libs libmongocxx) -o ./app.out ./app.out
명령줄 출력에는 검색된 영화 문서에 대한 세부 정보가 포함됩니다.
{ "_id" : { "$oid" : "573a1399f29313caabceeb20" }, "plot" : "Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.", ... "title" : "The Shawshank Redemption", ...
오류가 발생하거나 출력이 표시되지 않는 경우 quickstart.cpp
파일에 적절한 연결 문자열을 지정했는지, 그리고 샘플 데이터를 로드했는지 확인합니다.
이 단계를 완료한 후에는 드라이버를 사용하여 MongoDB deployment에 연결하고, 샘플 데이터에 대해 쿼리를 실행하고, 결과를 출력하는 등 정상적으로 작동하는 애플리케이션을 갖게 될 것입니다.
다음 단계
빠른 시작 튜토리얼을 완료하신 것을 축하드립니다!
참고
이 단계에서 문제가 발생하면 MongoDB Community 포럼 에서 도움을 요청하거나 이 페이지의 오른쪽 또는 오른쪽 아래에 있는 Rate this page 탭을 사용하여 피드백을 제출하세요.
이 튜토리얼에서는 MongoDB Atlas 에서 호스팅되는 MongoDB deployment 에 연결하고 쿼리 와 일치하는 문서 를 검색하는 C++ 애플리케이션 을 만들었습니다.
다음 리소스에서 C++ 운전자 에 자세히 보기 .
데이터 읽기 섹션에서 읽기 작업을 수행하는 방법을 알아보세요.
MongoDB 에 데이터 쓰기 섹션에서 쓰기 (write) 작업을 수행하는 방법을 알아보세요.