본문 바로가기
Database/MongoDB

c언어 mongodb_document 구성

by 강깅꽁 2017. 2. 17.

Document 구성 방법

BSON 또는 BCON을 이용할 수 있다.

BCON이 더 직관적이고 가독성이 높기 때문에 BCON을 이용한다.

JSON을 파싱할 또는 이용하여 만들 때는 BSON을 이용 하는듯 하다.


만들 예재:

{ born : ISODate("1906-12-09"), name : { first : "Grace", last : "Hopper" }, languages : [ "MATH-MATIC", "FLOW-MATIC", "COBOL" ], degrees: [ { degree: "BA", school: "Vassar" }, { degree: "PhD", school: "Yale" } ] }



#include <bson.h>

int main (int argc, char *argv[]){
struct tm born = { 0 };
bson_t *document;
char *str;

born.tm_year = 6;
born.tm_mon = 11;
born.tm_mday = 9;

document = BCON_NEW (
"born", BCON_DATE_TIME (mktime (&born) * 1000),
"name", "{",
"first", BCON_UTF8 ("Grace"), // 객체는 키:값 구조로 값일 경우 BCON_UTF8()안에 넣어서 써준다.
"last", BCON_UTF8 ("Hopper"),
"}",
"languages", "[",
BCON_UTF8 ("MATH-MATIC"),
BCON_UTF8 ("FLOW-MATIC"),
BCON_UTF8 ("COBOL"),
"]",
"degrees", "[",
"{", "degree", BCON_UTF8 ("BA"), "school", BCON_UTF8 ("Vassar"), "}",
"{", "degree", BCON_UTF8 ("PhD"), "school", BCON_UTF8 ("Yale"), "}",
"]");

/*
* Print the document as a JSON string.
*/
str = bson_as_json (document, NULL);
printf ("%s\n", str);
bson_free (str);

/*
* Clean up allocated bson documents.
*/
bson_destroy (document); //
return 0;
}