MongoDB에 데이터 쓰기
개요
이 페이지에서는 C 운전자 를 사용하여 MongoDB 에 데이터를 쓰기 (write) 데 사용할 수 있는 일반적인 함수를 보여주는 복사 가능한 코드 예제를 볼 수 있습니다.
팁
이 페이지에 표시된 기능에 학습 보려면 각 섹션에 제공된 링크를 참조하세요.
이 페이지의 예제를 사용하려면 코드 예제를 샘플 애플리케이션 또는 자체 애플리케이션에 복사합니다. 코드 예제의 모든 자리 표시자(예: <connection string URI>
)를 MongoDB 배포에 필요한 관련 값으로 바꿔야 합니다.
샘플 애플리케이션
다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.
C 운전자 가 설치되어 있는지 확인합니다.
다음 코드를 복사하여 새
.c
파일에 붙여넣습니다.이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.
1 2 3 4 5 int 6 main (void) 7 { 8 mongoc_client_t *client; 9 mongoc_collection_t *collection; 10 char *str; 11 bson_error_t error; 12 13 mongoc_init (); 14 15 client = 16 mongoc_client_new ("<connection string URI>"); 17 collection = 18 mongoc_client_get_collection (client, "<database name>", "collection name"); 19 20 // Start example code here 21 22 // End example code here 23 24 mongoc_collection_destroy (collection); 25 mongoc_client_destroy (client); 26 mongoc_cleanup (); 27 28 return EXIT_SUCCESS; 29 }
insertOne
다음 코드는 단일 문서 를 컬렉션 에 삽입하는 방법을 보여줍니다.
bson_t *document = BCON_NEW ("<field name>", BCON_UTF8 ("<value>")); bson_error_t error; if (!mongoc_collection_insert_one ( collection, document, NULL, NULL, &error)) { fprintf (stderr, "Insert one operation failed: %s\n", error.message); } bson_destroy (document);
함수에 학습 보려면 mongoc_collection_insert_one()
문서 삽입 가이드 를 참조하세요.
여러 항목 삽입
다음 코드는 컬렉션 에 여러 문서를 삽입하는 방법을 보여줍니다.
size_t num_docs = 2; bson_t *docs[num_docs]; docs[0] = BCON_NEW ("<field name>", BCON_UTF8 ("<value>")); docs[1] = BCON_NEW ("<field name>", BCON_UTF8 ("<value>")); bson_error_t error; if (!mongoc_collection_insert_many (collection, (const bson_t **) docs, num_docs, NULL, NULL, &error)) { fprintf (stderr, "Insert many operation failed: %s\n", error.message); } bson_destroy (docs[0]); bson_destroy (docs[1]);
함수에 학습 보려면 문서 삽입 mongoc_collection_insert_many()
가이드 를 참조하세요.
UpdateOne
다음 코드는 필드 를 만들거나 편집하여 컬렉션 의 단일 문서 를 업데이트 하는 방법을 보여줍니다.
bson_t *query = BCON_NEW ("<field to match>", BCON_UTF8 ("<value to match>")); bson_t *update = BCON_NEW ("$set", "{", "<field name>", BCON_UTF8 ("<value>"), "}"); bson_error_t error; if (!mongoc_collection_update_one (collection, query, update, NULL, NULL, &error)) { fprintf (stderr, "Update one operation failed: %s\n", error.message); } bson_destroy (query); bson_destroy (update);
mongoc_collection_update_one()
함수에 학습 보려면 문서 업데이트 가이드 를 참조하세요.
다중 업데이트
다음 코드는 필드 를 만들거나 편집하여 컬렉션 에 있는 여러 문서를 업데이트 하는 방법을 보여줍니다.
bson_t *query = BCON_NEW ("<field to match>", BCON_UTF8 ("<value to match>")); bson_t *update = BCON_NEW ("$set", "{", "<field name>", BCON_UTF8 ("<value>"), "}"); bson_error_t error; if (!mongoc_collection_update_many (collection, query, update, NULL, NULL, &error)) { fprintf (stderr, "Update many operation failed: %s\n", error.message); } bson_destroy (query); bson_destroy (update);
mongoc_collection_update_many()
함수에 학습 보려면 문서 업데이트 가이드 를 참조하세요.
deleteOne
다음 코드는 컬렉션 에서 단일 문서 를 삭제 하는 방법을 보여줍니다.
bson_t *filter = BCON_NEW ("<field name>", BCON_UTF8 ("<value>")); bson_error_t error; if (!mongoc_collection_delete_one (collection, filter, NULL, NULL, &error)) { fprintf (stderr, "Delete error: %s\n", error.message); } bson_destroy (filter);
mongoc_collection_delete_one()
함수에 학습 보려면 문서 삭제 가이드 를 참조하세요.
여러 항목 삭제
다음 코드는 컬렉션 에서 여러 문서를 삭제 하는 방법을 보여줍니다.
bson_t *filter = BCON_NEW ("<field name>", BCON_UTF8 ("<value>")); bson_error_t error; if (!mongoc_collection_delete_many (collection, filter, NULL, NULL, &error)) { fprintf (stderr, "Delete error: %s\n", error.message); } bson_destroy (filter);
mongoc_collection_delete_many()
함수에 학습 보려면 문서 삭제 가이드 를 참조하세요.
대량 쓰기
다음 코드는 단일 대량 작업으로 여러 쓰기 (write) 작업을 수행하는 방법을 보여줍니다.
bson_error_t error; mongoc_bulk_operation_t *bulk = mongoc_collection_create_bulk_operation_with_opts (collection, NULL); bson_t *insert_doc = BCON_NEW ( "<field name>", BCON_UTF8 ("<value>"), "<field name>", BCON_UTF8 ("<value>"), "<field name>", BCON_UTF8 ("<value>"), "<field name>", BCON_UTF8 ("<value>") ); mongoc_bulk_operation_insert(bulk, insert_doc); bson_destroy (insert_doc); bson_t *query = BCON_NEW ("<field to match>", BCON_UTF8 ("<value to match>")); bson_t *update = BCON_NEW ("$set", "{", "<field name>", BCON_UTF8 ("<value>"), "}"); mongoc_bulk_operation_update_one(bulk, query, update, false); bson_destroy(query); bson_destroy(update); bool result = mongoc_bulk_operation_execute(bulk, NULL, &error); if (!result) { fprintf (stderr, "Bulk operation error: %s\n", error.message); } mongoc_bulk_operation_destroy (bulk);
함수에 학습 보려면 대량 쓰기 작업 가이드 를 mongoc_collection_bulk_operation_execute()
참조하세요.