1. 程式人生 > 資料庫 >一例·C語言連線mongodb並建立文件,插入記錄

一例·C語言連線mongodb並建立文件,插入記錄

上機環境ubuntu20.0.4  QtCreator

準備活動,安裝libmongoc 和libbson

最好sudo apt 安裝 mongodb,這樣我們就能獲得 mongoc.h

別忘了,在QtCreator選擇根目錄,右鍵點選Add Library新增libmongoc.so和libbson.so庫函式

#include <stdio.h>
#include <bson/bson.h>
#include <mongoc/mongoc.h>
int main()
{

    mongoc_client_t *client;
    mongoc_collection_t *collection;
    bson_error_t error;
    bson_oid_t oid;
    bson_t *doc;

    mongoc_init();

    client = mongoc_client_new ("mongodb://192.168.34.128:27017");
    collection = mongoc_client_get_collection (client, "ourworld", "mywish");

    doc = bson_new ();
    bson_oid_init (&oid, NULL);
    BSON_APPEND_OID (doc, "_id", &oid);
    const char* mykey = "description";
    const char* myval ="超級喜歡付高峰";
    bson_append_symbol (doc, mykey,strlen(mykey), myval,strlen(myval));//新增鍵值對集合
    BSON_APPEND_UTF8 (doc, "hello","world");//另一種新增鍵值對的方法,key值是hello,val值是world
    if (!mongoc_collection_insert_one (
           collection, doc, NULL, NULL, &error)) {
        fprintf (stderr, "%s\n", error.message);
    }

    bson_destroy (doc);
    mongoc_collection_destroy (collection);
    mongoc_client_destroy (client);
    mongoc_cleanup ();

    printf("Hello World!\n");
    return 0;
}

 

 

截止2020年11月,mongodb官方提供了C語言操作mongodb的相關教程,其地址位於 

其思路大概是mongo_client_t用於維護與mongodb的連線,mongo_collection_t是和集合相關的操作,bson文件是集合裡的每一條記錄

所有操作完成後,依次釋放bson文件,釋放集合mongo_collection,釋放mongo_client