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

MongoDB에 연결

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> 자리 표시자를 string 이 가이드 의 연결 만들기 단계에서 복사한 연결 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 탭을 사용하여 피드백을 제출하세요.

돌아가기

연결 문자열 만들기