Docs Menu
Docs Home
/ / /
C++ 드라이버

C++ 드라이버 시작하기

이 페이지의 내용

  • 개요
  • 다운로드 및 설치
  • 종속성 설치
  • C++ 운전자 다운로드
  • 설치할 운전자 구성
  • 운전자 빌드 및 설치
  • MongoDB Deployment 생성
  • Atlas에 무료 MongoDB 배포서버 생성
  • 자격 증명 저장
  • 연결 문자열 만들기
  • MongoDB Atlas 연결 문자열 찾기
  • 연결 문자열 복사
  • 자리 표시자 업데이트
  • 샘플 쿼리 실행
  • 프로젝트 디렉토리 만들기
  • C++ 운전자 애플리케이션 만들기
  • 연결 문자열 할당
  • C++ 애플리케이션 실행
  • 다음 단계

MongoDB C++ 드라이버 는 MongoDB 에 연결하고 배포서버 서버에 저장된 데이터와 상호 작용 하는 데 사용할 수 있는 C++ 패키지 입니다. 이 가이드 에서는 C++ 운전자 를 사용하여 MongoDB Atlas 에서 호스팅되는 MongoDB cluster 에 연결하고 클러스터 의 데이터를 쿼리 하는 애플리케이션 을 만드는 방법을 보여줍니다.

MongoDB Atlas는 관리형 클라우드 데이터베이스 서비스로, MongoDB deployment를 호스팅합니다. 이 가이드의 단계에 따라 자체 무료(신용카드 필요 없음) MongoDB Atlas 배포서버를 생성할 수 있습니다.

이 가이드 에 따라 샘플 C++ 애플리케이션 을 MongoDB Atlas 배포서버 에 연결합니다. 다른 운전자 또는 프로그래밍 언어 를 사용하여 MongoDB 에 연결하려는 경우 공식 드라이버 목록을 참조하세요.

1

이 튜토리얼을 시작하기 전에 개발 환경에 다음 종속성이 설치되어 있는지 확인하세요.

참고

C++17 이전 구성

C++11 가 지원되는 최소 언어 버전이지만, 이 튜토리얼에서는 C++17 폴리필 구성 섹션에서 권장하는 대로 C++ 표준 라이브러리를 사용하도록17 C++ 운전자 구성합니다. C++ 이전 구성용 운전자 설치하려면17 CMAKE_CXX_STANDARD 구성 옵션을 C++ 버전으로 설정하다 . 그런 다음 운전자 필요한 C++17 기능에 대해 자동으로 bsoncxx 라이브러리 폴리필 구현을 사용합니다.

2

리포지토리 에서 최신 버전의 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
3

운영 체제에 해당하는 탭 을 선택하고 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 버전에 해당하는 연도

4

운영 체제에 해당하는 탭 을 선택하고 다음 명령을 실행 하여 운전자 를 설치합니다.

cmake --build .
sudo cmake --build . --target install
cmake --build . --config RelWithDebInfo
cmake --build . --target install --config RelWithDebInfo

이 단계를 완료하면 컴퓨터에 C++ 운전자 가 설치됩니다.

MongoDB Atlas에 프리 티어 MongoDB 배포를 생성하여 데이터를 저장하고 관리할 수 있습니다. MongoDB Atlas는 클라우드에서 MongoDB database를 호스팅하고 관리합니다.

1

Atlas 시작하기 가이드를 완료하여 새 Atlas 계정을 설정하고 새로운 프리 계층 MongoDB 배포서버에 샘플 데이터를 로드하세요.

2

데이터베이스 사용자를 생성한 후 다음 단계에서 사용할 수 있도록 해당 사용자의 사용자 이름과 비밀번호를 안전한 위치에 저장하세요.

이 단계를 완료하면 Atlas에 새로운 프리 티어 MongoDB 배포서버, 데이터베이스 사용자 자격 증명 및 샘플 데이터가 데이터베이스에 로드됩니다.

연결 문자열이라고도 하는 연결 URI을 제공하여 MongoDB 배포서버에 연결할 수 있으며, 이 연결 문자열은 드라이버에 MongoDB 배포서버로 연결하는 방법과 연결된 동안 동작하는 방법을 지시합니다.

연결 문자열에는 배포서버의 호스트 이름 또는 IP 주소와 포트, 인증 메커니즘, 해당되는 경우 사용자 자격 증명, 연결 옵션 등이 포함됩니다.

Atlas 에서 호스팅되지 않는 인스턴스 또는 배포서버 에 연결하려면 연결 대상 선택 가이드 를 참조하세요.

1

이전 단계에서 만든 배포서버에 대한 연결 문자열 조회 하려면 Atlas 계정에 로그인 Database 섹션으로 이동한 다음 새 배포서버에 대한 Connect 버튼을 클릭합니다.

Atlas UI의 클러스터 섹션에 있는 연결 버튼

Connect your application 섹션으로 이동하여 Driver 선택 메뉴에서 "C++"를 선택하고 Version 선택 메뉴에서 설치한 버전과 가장 일치하는 버전을 선택합니다.

Password (SCRAM) 인증 메커니즘을 선택합니다.

연결 string 만 보려면 Include full driver code example 옵션을 선택 취소합니다.

2

다음 스크린샷과 같이 연결 string 오른쪽에 있는 버튼을 클릭하여 클립보드에 복사합니다.

UI 의 연결 옆에 있는 복사 버튼 string Atlas
3

이 연결 문자열을 원하는 텍스트 편집기의 파일에 붙여넣고 <username><password> 자리 표시자를 데이터베이스 사용자의 사용자 이름 및 비밀번호로 바꿉니다.

다음 단계에서 사용할 수 있도록 이 파일을 안전한 위치에 저장합니다.

이 단계를 완료하면 클러스터 에 해당하는 연결 string Atlas 이 생성됩니다.

1

루트 디렉토리 의 shell 에서 다음 명령을 실행 하여 이 프로젝트 에 대해 cpp-quickstart 디렉토리 를 만듭니다.

mkdir cpp-quickstart

다음 명령을 실행하여 cpp-quickstart 디렉토리 에 quickstart.cpp 애플리케이션 파일 을 만듭니다.

cd cpp-quickstart
touch quickstart.cpp
2

다음 코드를 복사하여 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;
}
3

<connection string> 자리 표시자를 이 가이드의 연결 문자열 만들기 단계에서 복사한 연결 문자열로 바꿉니다.

4

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 C++ 드라이버