c/c++ mongodb写入例程

#pragma comment(lib, "bson-1.0.lib")
#pragma comment(lib, "bson-static-1.0.lib")
#pragma comment(lib, "mongoc-1.0.lib")
#pragma comment(lib, "mongoc-static-1.0.lib")

#include <nlohmann/json.hpp>
#include <iostream>
#include <mongoc.h>
#include <bson.h>
#include <mutex>

using json = nlohmann::json;

bson_t *doc; //bson文件
bson_error_t error; //错误号
mongoc_client_t *client; //数据库ID
mongoc_collection_t *collection; //句柄

/*
保存json数据到数据库
*/
void j2mongo(json &json_data) {
    //json转换为bson
    doc = bson_new_from_json((const uint8_t *)(json_data.dump().c_str()), -1, &error);

    // 将bson文档插入到集合
    mongoc_collection_insert(collection, MONGOC_INSERT_NONE, doc, NULL, &error);
}

/*
1. 连接数据库
2. 创建bson文档
3. json转换为bson
4. 插入集合
*/
void mongosave() {
    // 初始化libmongoc
    mongoc_init();

    // 连接到数据库,并获取集合句柄
    client = mongoc_client_new("mongodb://localhost:27017/");
    collection = mongoc_client_get_collection(client, "mydb", "mycoll");
}

/*
安全退出数据库
*/
void mongoexit() {
    // 释放资源
    bson_destroy(doc);
    mongoc_collection_destroy(collection);
    mongoc_client_destroy(client);

    // 清理libmongoc
    mongoc_cleanup();
}

int main() {
    json JsonIns;
    JsonIns["test"] = "12345";

    mongosave();
    j2mongo(JsonIns);
    mongoexit();

    return 0;
}

mongodb简单的例子,以及附带windows环境下编译好的Release版本库,简单下载即可测试,很久没有碰Mongodb了,总结一下,希望能提供一些帮助

demo以及依赖库下载链接一:https://gitee.com/Judah_t/resources/raw/master/mongodb.zip

demo以及依赖库下载链接二:Mongodb实例Demo-C++文档类资源-CSDN下载

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值