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

연결 대상 선택

이 페이지의 내용

  • 개요
  • Atlas
  • 로컬 배포
  • 복제본 세트
  • 초기화
  • API 문서

이 가이드에서는 연결 string 과 mongocxx::client 객체를 사용하여 다양한 유형의 MongoDB deployment에 연결하는 방법을 배울 수 있습니다.

MongoDB 에서 deployment에 Atlas 연결하려면 연결 에 다음 요소를 string 포함하세요.

  • Atlas cluster 의 URI

  • MongoDB 사용자 이름

  • MongoDB 비밀번호

그런 다음 연결 string 을 mongocxx::uri 생성자에 전달하고 mongocxx::uri 객체 를 사용하여 mongocxx::client 객체 를 생성합니다.

Atlas 에 연결할 때 Stable API 클라이언트 옵션을 사용하여 Atlas 를 새 버전의 MongoDB Server 로 업그레이드할 때 호환성이 손상되는 변경을 방지하는 것이 좋습니다. Stable API 기능 에 학습 보려면 Stable API 페이지를 참조하세요.

다음 코드는 C++ 운전자 를 사용하여 Atlas cluster 에 연결하는 방법을 보여줍니다. 또한 이 코드는 server_api_opts 옵션을 사용하여 Stable API 버전을 지정합니다.

#include <mongocxx/instance.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/uri.hpp>
#include <bsoncxx/json.hpp>
#include <mongocxx/exception/exception.hpp>
using bsoncxx::builder::basic::kvp;
using bsoncxx::builder::basic::make_document;
int main()
{
mongocxx::instance instance;
// Replace the placeholder with your Atlas connection string
mongocxx::uri uri("<connection string>");
// Create a mongocxx::client with a mongocxx::options::client object to set the Stable API version
mongocxx::options::client client_options;
mongocxx::options::server_api server_api_options(mongocxx::options::server_api::version::k_version_1);
client_options.server_api_opts(server_api_options);
mongocxx::client client(uri, client_options);
try
{
// Ping the server to verify that the connection works
auto admin = client["admin"];
auto command = make_document(kvp("ping", 1));
auto result = admin.run_command(command.view());
std::cout << bsoncxx::to_json(result) << "\n";
std::cout << "Pinged your deployment. You successfully connected to MongoDB!\n";
}
catch (const mongocxx::exception &e)
{
std::cerr << "An exception occurred: " << e.what() << "\n";
return EXIT_FAILURE;
}
}

Atlas 드라이버 연결 가이드 에 따라 연결 string 을 검색합니다.

로컬 MongoDB deployment에 연결하려면 localhost 을 호스트 이름으로 사용합니다. 기본적으로 mongod 프로세스는 포트 27017 에서 실행되지만, 배포서버에 맞게 사용자 지정할 수 있습니다.

다음 코드는 C++ 운전자 를 사용하여 로컬 MongoDB deployment 에 연결하는 방법을 보여줍니다.

#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
#include <mongocxx/client.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://localhost:27017");
mongocxx::client client(uri);
}

복제본 세트 에 연결하려면 연결 에 IP 복제본 세트 멤버의 호스트 이름(또는 주소)과 포트 번호를 string 지정합니다.

복제본 세트 에 있는 호스트의 전체 목록을 제공할 수 없는 경우, 복제본 복제본 세트 에 있는 호스트 중 하나 이상을 지정하고 다른 호스트를 찾기 위해 자동 검색을 수행하도록 C++ 운전자 에 지시할 수 있습니다. 운전자 에 자동 검색을 수행하도록 지시하려면 다음 작업 중 하나를 수행합니다.

  • 복제본 세트의 이름을 replicaSet 매개변수의 값으로 지정합니다.

  • directConnection 매개 변수의 값으로 false를 지정합니다.

  • 복제본 세트에 둘 이상의 호스트를 지정합니다.

다음 예시에서 드라이버는 샘플 연결 URI를 사용하여 host1를 포함하여 서로 다른 세 호스트의 27017 포트에서 실행 중인 MongoDB 복제본 세트 sampleRS에 연결합니다.

#include <mongocxx/instance.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/uri.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://host1:27017/?replicaSet=sampleRS");
mongocxx::client client(uri);
}

복제본 세트 를 초기화하려면 단일 멤버에 직접 연결해야 합니다. 이렇게 하려면 연결 string 에서 directConnection 연결 옵션을 true 로 설정하다 합니다. 다음 코드 예시 에서는 이 연결 옵션을 설정하다 하는 방법을 보여줍니다.

#include <mongocxx/instance.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/uri.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://<hostname>:<port>/?directConnection=true");
mongocxx::client client(uri);
}

이 페이지에서 사용되는 유형에 학습 보려면 다음 API 문서를 참조하세요.

돌아가기

MongoDB 클라이언트 만들기