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

MongoClient 만들기

이 페이지의 내용

  • 개요
  • 연결 URI
  • Atlas 연결 예시
  • API 문서

MongoDB deployment에 연결하려면 다음 두 가지가 필요합니다.

  • 연결할 MongoDB deployment 를 C 운전자 에 알려주는 연결 문자열 이라고도 하는 연결 URI입니다.

  • MongoDB deployment에 대한 연결을 생성하고 MongoDB deployment 에서 작업을 수행하는 mongoc_client_t 구조입니다.

이 가이드 에서는 연결 문자열 을 만들고 mongoc_client_t 구조를 사용하여 MongoDB 에 연결하는 방법을 보여 줍니다.

표준 연결 string 에는 다음 구성 요소가 포함됩니다.

구성 요소
설명
mongodb+srv://
필수입니다. SRV 연결 형식에서 이를 문자열로 식별하는 접두사입니다.
username:password
선택 사항. 인증 자격 증명.authSource 이를 포함하면 클라이언트 는 에 지정된 데이터베이스 에 대해 사용자를 인증합니다.authSource 연결 옵션에 대한 자세한 내용은 인증 메커니즘 가이드 를 참조하세요.
host[:port]
필수입니다. MongoDB가 실행 중인 호스트 및 선택적 포트 번호입니다. 포트 번호를 포함하지 않으면 드라이버는 기본 포트인 27017 을 사용합니다.
/defaultauthdb
선택 사항. 연결 string 에 username:password@ 인증 자격 증명이 포함되어 있지만 authSource 옵션이 없는 경우에 사용할 인증 데이터베이스입니다. 이 구성 요소를 포함하지 않으면 클라이언트는 admin 데이터베이스에 대해 사용자를 인증합니다.
?<options>
선택 사항 연결별 옵션을 <name>=<value> 쌍으로 지정하는 쿼리 문자열입니다.

연결 생성에 대한 자세한 string 내용은 MongoDB Server 설명서에서 연결 문자열 을 참조하세요.

Atlas 에서 MongoDB deployment 에 연결하려면 먼저 클라이언트 를 만들어야 합니다.

MongoDB 인스턴스 에 연결하기 위해 mongoc_client_new() 함수에 연결 URI를 문자열로 전달할 수 있습니다.

// Initialize the C Driver
mongoc_init ();
// Create a new client and connect to the server
mongoc_client_t *client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<hostname:port>/?<options>");
mongoc_database_t *database = mongoc_client_get_database (client, "admin");
bson_t *ping = BCON_NEW ("ping", BCON_INT32 (1));
bson_t reply = BSON_INITIALIZER;
bson_error_t error;
// Send a ping to confirm a successful connection
if (!mongoc_client_command_simple (client, "admin", ping, NULL, &reply, &error)) {
fprintf(stderr, "error: %s\n", error.message);
goto cleanup;
}
printf ("Pinged your deployment. You successfully connected to MongoDB!\n");
cleanup:
bson_destroy (&reply);
bson_destroy (ping);
mongoc_database_destroy (database);
mongoc_client_destroy (client);
// Cleanup the C Driver
mongoc_cleanup ();

새 서버 버전으로 업그레이드 할 때 호환성이 손상되는 변경을 방지하려면 Stable API 버전 클라이언트 옵션을 설정하다 수 있습니다.

Stable API 기능에 대해 자세히 알아보려면 Stable API 가이드를 참조하세요.

다음 코드는 Atlas의 MongoDB deployment에 연결할 때 연결 문자열과 Stable API 클라이언트 옵션을 지정하고 연결이 성공했는지 확인하는 방법을 보여줍니다.

// Intialize the MongoDB C Driver
mongoc_init();
// Create a new client and connect to the server
mongoc_client_t *client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<hostname:port>/?<options>");
// Set the version of the Stable API on the client
mongoc_server_api_t *api = mongoc_server_api_new(MONGOC_SERVER_API_V1);
bson_t *ping = BCON_NEW ("ping", BCON_INT32 (1));
bson_t reply = BSON_INITIALIZER;
bson_error_t error;
if (!mongoc_client_set_server_api (client, api, &error)) {
fprintf(stderr, "error: %s\n", error.message);
goto cleanup;
}
// Send a ping to confirm a successful connection
if (!mongoc_client_command_simple (client, "admin", ping, NULL, &reply, &error)) {
fprintf(stderr, "error: %s\n", error.message);
goto cleanup;
}
printf ("Pinged your deployment. You successfully connected to MongoDB!\n");
cleanup:
bson_destroy (&reply);
bson_destroy (ping);
mongoc_server_api_destroy (api);
mongoc_client_destroy (client);
// Cleanup the C Driver
mongoc_cleanup ();

구조에 대한 자세한 내용은 API mongoc_client_t 설명서를 참조하세요.

돌아가기

MongoDB에 연결