MongoClient 만들기
이 페이지의 내용
개요
MongoDB deployment에 연결하려면 다음 두 가지가 필요합니다.
연결할 MongoDB deployment 를 C 운전자 에 알려주는 연결 문자열 이라고도 하는 연결 URI입니다.
MongoDB deployment에 대한 연결을 생성하고 MongoDB deployment 에서 작업을 수행하는
mongoc_client_t
구조입니다.
이 가이드 에서는 연결 문자열 을 만들고 mongoc_client_t
구조를 사용하여 MongoDB 에 연결하는 방법을 보여 줍니다.
연결 URI
표준 연결 string 에는 다음 구성 요소가 포함됩니다.
구성 요소 | 설명 |
---|---|
| 필수입니다. SRV 연결 형식에서 이를 문자열로 식별하는 접두사입니다. |
| 선택 사항. 인증 자격 증명. |
| 필수입니다. MongoDB가 실행 중인 호스트 및 선택적 포트 번호입니다. 포트 번호를 포함하지 않으면 드라이버는 기본 포트인 |
| 선택 사항. 연결 string 에 |
| 선택 사항 연결별 옵션을 |
연결 생성에 대한 자세한 string 내용은 MongoDB Server 설명서에서 연결 문자열 을 참조하세요.
Atlas 연결 예시
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 문서
구조에 대한 자세한 내용은 API mongoc_client_t
설명서를 참조하세요.