mongodb-c-driver使用详解----windows环境

Mongo-C-Driver及Mongo-CXX-Driver的编译及使用 Mongo-C-Driver及Mongo-CXX-Driver的编译及使用前言Windows环境Mongo-C-Driver版本信息Cmake-GUICmake 控制台命令Mongo-CXX-Driver版本信息Cmake 控制台命令 前言 本人属于CMake小白,如有不足还望各位大神斧正. Mongo-C-Driver : 可以使用Cmake命令行及Cmake-GUI进行编译 Mongo-CXX-Driver : 可以使用Cmake命令行进行编译,Cmake-GUI会报无法找到bson库,添加路径以后依 阅读详情

    网上的各种资源,无法正常编译出windows环境下的lib、dll文件库文件,只好自己动手,翻看官方文档,没想到官方的操作指引,也是不能达到预期,只好自己琢磨。为方便以后使用,整理成文档如下

一、介绍

     MongoDB C Driver也常被写成“libmongoc”、“mongodb-c-driver”,是MongoDB官方C语言客户端库,用于和MongoDB交互。

       当处理DSON数据时(MongoDB的二进制数据) , mongodb-c-driver依赖于libbson库。

二、编译

依赖cmake工具编译,所以,先安装好cmake,配置好cmake环境变量,自行百度。

然后下载源码:

源码官方获取渠道:http://mongoc.org/

github: https://github.com/mongodb/mongo-c-driver

此文档所用版本为:mongo-c-driver-1.16.2

 

下载后,解压,打开命令行,cd进入根目录以下为命令 (我的解压目录为:“D:\应用程序\MongoDb\mongo-c-driver\mongo-c-driver-1.16.2x86”) :

官方指导文档上的方法不可行,请按以下方法操作

cd /d D:\应用程序\MongoDb\mongo-c-driver\mongo-c-driver-1.16.2x86

 

cmake -G "Visual Studio 10 2010" "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver" "-DCMAKE_PREFIX_PATH=C:\mongo-c-driver"

 

到根目录下查看,发现生成了.sln文件,用VS打开,会发现一大堆工程,先编译以下圏红工程:

编译成功后,再执行安装工程,提取出lib、dll、头文件等:

你会发现,在C:\mongo-c-driver目录下生成了以下文件:

到此,编译完成,下面说几个注意点:

“10 2010”字样,是针对不同版本的VS,可以自行选择。x64版本的,“10 2010”应该写成“10 2010 Win64”,默认是x86版本。备选项有:

 

       而“C:\mongo-c-driver”为生成开发文件的路径,可自行修改。

 

       针对不同的VS版本,按以上方法自行编译不同的版本

 

三、使用

官方使用说明:http://mongoc.org/libmongoc/current/visual-studio-guide.html

创建个win32控制台程序

msvc-create-project.pnguploading.4e448015.gif转存失败重新上传取消http://mongoc.org/libmongoc/current/_images/msvc-create-project.png

 

选择你对应和版本,注意别选错了,不然你会抓狂:

 

在工程名中,右键菜单==》properties:

C:\mongo-c-driver\include\libbson-1.0

C:\mongo-c-driver\include\libmongoc-1.0

设置成正确的路径即可,以上为参考。

 

设置lib文件库路径:

C:\mongo-c-driver\lib\bson-1.0.lib

C:\mongo-c-driver\lib\mongoc-1.0.lib

 

设置动态库的路径:

PATH=c:/mongo-c-driver/bin

 

最后引入头文件

#include <mongoc/mongoc.h>

 

写一段测试代码:

int _tmain(int argc, _TCHAR* argv[])

{

       mongoc_client_t *client;

       mongoc_collection_t *collection;

       mongoc_cursor_t *cursor;

       bson_error_t error;

       const bson_t *doc;

       const char *collection_name = "test";

       bson_t query;

       char *str;

       const char *uri_string = "mongodb://127.0.0.0/?appname=client-example";

       mongoc_uri_t *uri;

 

       mongoc_init ();

 

       uri = mongoc_uri_new_with_error (uri_string, &error);

       if (!uri) {

              fprintf (stderr,

                     "failed to parse URI: %s\n"

                     "error message:       %s\n",

                     uri_string,

                     error.message);

              return EXIT_FAILURE;

       }

 

       client = mongoc_client_new_from_uri (uri);

       if (!client) {

              return EXIT_FAILURE;

       }

 

       mongoc_client_set_error_api (client, 2);

 

       bson_init (&query);

 

#if 0

       bson_append_utf8 (&query, "hello", -1, "world", -1);

#endif

 

       collection = mongoc_client_get_collection (client, "test", collection_name);

       cursor = mongoc_collection_find_with_opts (

              collection,

              &query,

              NULL,  /* additional options */

              NULL); /* read prefs, NULL for default */

 

       while (mongoc_cursor_next (cursor, &doc)) {

              str = bson_as_canonical_extended_json (doc, NULL);

              fprintf (stdout, "%s\n", str);

              bson_free (str);

       }

 

       if (mongoc_cursor_error (cursor, &error)) {

              fprintf (stderr, "Cursor Failure: %s\n", error.message);

              return EXIT_FAILURE;

       }

 

       bson_destroy (&query);

       mongoc_cursor_destroy (cursor);

       mongoc_collection_destroy (collection);

       mongoc_uri_destroy (uri);

       mongoc_client_destroy (client);

       mongoc_cleanup ();

 

       return EXIT_SUCCESS;

}

 

官方教程:

http://mongoc.org/libmongoc/current/tutorial.html#installing

开发手册:http://mongoc.org/libmongoc/current/guides.html

API手册:http://mongoc.org/libmongoc/current/api.html

 

四、监控

可以监控MongoDB所有事件,待续…

官方教程:http://mongoc.org/libmongoc/current/application-performance-monitoring.html

 

MongoDB在windows10下的C++开发环境搭建 MongoDB在windows10下的C++开发环境搭建0、主要内容1、安装2、开始编译sdk库 0、主要内容 MongoDB+windows10+vs2019 C++版本的sdk库的编译运行开发。 简直多灾多难,弄了3天才弄好,头晕的想吐。记录一下吧。 Windows10 专业版 mongodb-windows-x86_64-4.4.1-signed mongodb-compass-1.22.1 vs2019 1、安装 安装 mongoDB 的server和client的程序。去mongoDB官网下载。 阅读详情

相关推荐

MongoDB c#驱动 dll

MongoDB.Bson.dll MongoDB.Driver.Core.dll MongoDB.Driver.dll 操作mongoDB数据库的dll

MongoDB基本的操作及C接口使用-MongoDB C Driver

 官网 http://mongoc.org/libmongoc/current/tutorial.html 下载 wget https://github.com/mongodb/mongo-c-driver/releases/download/1.6.3/mongo-c-driver-1.6.3.tar.gz $ tar xzf mongo-c-driver-1.6.3.tar.

伍意的博客 1万+

微信小程序OCR身份证识别实战:从拍照到信息提取全流程解析

本文详细解析了微信小程序中OCR身份证识别的全流程实现,从环境配置、拍照上传到OCR核心识别及安全优化。通过微信开发者工具和OCR插件,开发者可快速构建高效的身份信息采集系统,提升用户体验和数据安全性。重点介绍了图像处理、加密传输及混合云架构等企业级解决方案。

j0k1l2m3n的博客 456

mongo-c-driver MongoDB使用笔记

转自:mongo-c-driver MongoDB使用笔记_May的专栏-优快云博客 最近一个项目,使用了MongoDB,c 语言调用 mongo-c-driver 函数实现数据库的操作,网上资料较少,自己摸索总结了一些方法,做个记录。 一、查询 1、函数 mongoc_collection_find_with_opts 和 mongoc_collection_find 如果只有查询条件,没有输出条件,这两个函数都可使用;如果有输出条件,则使用mongoc_collection_...

1397

RM3100应用笔记驱动程序SPI接口

PNI磁传感器套件RM3100磁传感器套件由2个Sen-XY-f(pn13104)地磁传感器,1个Sen-Z-f(pn13101)地磁传感器和MagI2C(pn13156)控制芯片组成,能够实现三维空间的磁场大小测量。

AIoT技术栈的博客 4923

Blender关于GIS安装及使用天地图

Blender下载安装及GIS插件的安装及使用

Miss_SQ的博客 6968

mongo c driver搭建与使用

大于 - $gt (<) 小于 - $lt (>=) 大于等于 - $gte (<= )其他更多如: 不等于:not eq 包含:regex (任意位置开始匹配) regex ^ (从头开始匹配) 或:or (>)对输出结果有要求用: mongoc_collection_find_with_opts。动态静态库的系统路径是:/usr/local/lib64。头文件路径:/usr/lib/include。小于等于 - $lte。

chouchou66的博客 731

论文、报告中那些乱七八糟的图(甘特图、卡吉图,桑基图,小提琴图,弦图,螺旋图,风玫瑰图)

在一些论文或报告中,总是会看到一些熟悉的图,但作者总是不能好好说话,非得搞个洋名字、缩写字或者半洋半中的词来显示它多么高大上,有时候这种故弄玄虚、华而不实的写法也实在是让人看了不伦不类,图首先是让读者更容易看懂的,不是让你来故作高深、玩玄学的。

David_jiang 9426

mongodb的C的API使用

MongoDB官方手册:http://docs.mongodb.org/ecosystem/drivers/c/ 下载mongodb C driver [root@slayer ~]# git clone git://github.com/mongodb/mongo-c-driver.git 编译,安装 #cd mongo-c-driver #make && make inst

yangyu19910407的专栏 5141

python 爬虫 xpath 存储到数据库

参考

我是张先生 1288

uniapp - H5网页uni.getLocation报错getLocation:fail Geolocation permission denied.Get ipLocation failed.

uni.getLocation getLocation:fail Geolocation permission denied.Get ipLocation failed.,uni.getLocation定位失败,uni-app getLocation()无法获取定位,一直fail()uniapp移动端h5网页,uniApp微信内置浏览器定位失败,如何解决这个问题,uniapp h5 uni.getLocation获取位置失败怎么办,UNI-APP获取当前位置,uni.getLocation定位失败,unia

🏆 前端领域优质创作者 4241

MongoDB笔记一,Win10上使用C Driver访问MongoDB Server

Windows10上使用MongoDB的第一个笔记,记录MongoDB的部署,通过客户端使用,通过C语言编程接口访问。

lee353086的专栏 735

C#上位机+YOLO入门:工业视觉检测最小demo(复制就能跑,附完整代码)

新手入门C#上位机+YOLO,最忌讳的是上来就追求“大而全”,结果卡在某个外围功能上,连核心逻辑都没搞懂。这个最小demo的目的就是让大家先掌握“图像预处理→模型推理→结果解析”的核心链路,后续再逐步添加工业场景的功能,这样学习效率会高很多。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 725

Windows使用MinGW编译Mongodb C/C++ Driver

准备工作 1.下载mongo-c-driver,地址:https://github.com/mongodb/mongo-c-driver/releases。 我选择的是1.15.3版本的。 2.下载mongo-cxx-driver,地址: https://github.com/mongodb/mongo-cxx-driver/releases。 我选择的是r3.5.0版本的。 3.下载安装msys2,地址:msys2.github.io。选择x86_64 版本, 非 i686. 4.进入msys2的安装目录

u012321968的博客 1180

Python 实战:爬取高德地图交通数据(路况拥堵指数分析)

高德地图是由高德软件有限公司开发的一款地图导航产品,提供详细的地图浏览、路线规划、实时路况、公共交通查询等功能。高德地图拥有庞大的用户群体和海量的交通数据,这些数据对于交通管理、城市规划、出行服务等领域具有重要的价值。通过对高德地图交通数据的分析,我们可以了解城市交通的运行状况,识别拥堵路段,预测交通流量,为交通管理部门和出行者提供决策支持。

yansideyucsdn的博客 2684

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Windows10编译MongoDB的c++版,并以Qt调用

在Windows10的环境下编译MongoDB的c++版,并以Qt调用使用

qq_23604781的博客 4050

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

c++操作mongodb Windows 下 mongo-c-driver vs2017编译 附使用实例

c++操作mongodb Windows 下 mongo-c-driver vs2017编译 附使用实例转载自:http://blog.youkuaiyun.com/weierqiuba/article/details/68923648侵权请联系我删除。本文自己进行了简单的注释和资源重连接。1、下载mongo-c-driver源码文件: https://github.com/mongodb/mongo-c-d...

x_xx_xxx_xxxx的博客 4614

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Windows编译MongoDB的C++库,并使用Qt调用

mongo-cxx-driver的编译过程,需要使用mongo-c-driver的依赖,所以需要先编译mongo-c-driver,再编译mongo-cxx-driver。而mongo-cxx-driver又依赖boost, 所以在编译mongo-cxx-driver之前,需要先编译boost。

bugtraq的博客 2285

【MongoDB VS2015 windows10下的C++开发环境搭建——亲妈级教程】

MongoDB VS2015 windows10下的C++开发环境搭建(亲妈级教程)长话短说 先上下载地址:MongoDBVS2015windows10下的C++开发环境搭建-C++文档类资源-优快云下载编译顺序:(0)安装 mongodb-win32-x86_64-2008plus-ssl-3.4.23-signed.msi 傻瓜式一键安装(1)libbson-1.9.2(2)mongo-c-driver-1.9.2(3)mongo-cxx-driver-releases-v3.2.........

u011326153的博客 598

MongoDB C++库编译,windows平台+VS2015(QT中也可以用)

编译准备工作: (1)mongo-c-driver下载地址: https://github.com/mongodb/mongo-c-driver/releases 下载最新版:mongo-c-driver 1.12.0的Souce code版 (2)mongodb/mongo-cxx-driver下载地址: https://github.com/mongodb/mongo-cxx-dri...

斧冰 3175

MongoDb Windows 环境下 c++ driver 安装流程

1.安装boost 1.60 位置: c:\boost_1_60_0 下载安装mongo c dirver http://mongoc.org/?jmp=docs#documentation http://mongoc.org/libmongoc/current/installing.html Building on Windows 先编译 libbson 进入libsson的...

norsd的专栏 2148

windows下使用Cmake和VC 2013安装mongodb C driver Windows下安装mongodb的C语言程序驱动必须借助交叉编译软件CMake,但是官网上的文档对于一些

windows下使用Cmake和VC 2013安装mongodb C driver Windows下安装mongodb的C语言程序驱动必须借助交叉编译软件CMake,但是官网上的文档对于一些细节交代的非常不清楚,昨天弄了半天,总算成功安装了,步骤如下: 1、下载mongodb 将mongo-c-driver-1.1.4.zip源代码解压到d:根目录下(此目录路径可根据需要选定)

linuxheik的专栏 1084

MongoDB学习笔记(2)——使用VS2017编译mongocxx-driver

一、环境和编译包说明: 1、mongodb driver说明网址http://mongocxx.org/; 2、mongc-driver为:mongo-c-driver-1.17.3.tar.gz 3、mongcxx-driver为:mongo-cxx-driver-r3.6.2.tar.gz 4、boost库为(非必须,vs2017编译时需用到,其余暂无用到):boost_1_74_0.7z,路径为:https://www.boost.org/users/download/ 5、cmake下载路

langxm2006的专栏 490

window下 c++访问mongodb之安装驱动

windows下c++若想访问mongodb需要安装官方驱动。我按照官网的提示做了这个教程。废话不说直接开始。 步骤1:安装cmake 没错是的,你没看错,官网说了安装所有语言(c++,java,python等)的mongodb驱动之前必须先安装c语言驱动,而c语言驱动官方提供的是源码,源码需要cmake去编译,但是我机器上有没有cmake工具所以第一步就是安装cmake。cmake下载地址:

zhengudaoer的博客 1734

Windows下VS2019 编译MongDB C++驱动

Windows下VS2019 编译C++驱动编译所需的库和依赖编译成C++驱动 编译所需的库和依赖 官网手册:http://mongocxx.org/mongocxx-v3/installation/windows/ cmake下载网址:https://cmake.org/download/ mongo-c-driver下载网址:https://github.com/mongodb/mongo-c-driver/releases mongo-cxx-driver下载网址:https://github.

Python1996的博客 978

windows 下结合 vs2017 安装 MongoDBcxx driver

如果我们想通过c++来完成MongoDB的开发,需要我们安装其c++对应的驱动, 一.  我的环境:     操作系统: Win10 64位     visual studio: vs2017     boost:1.67.0     这里说一下,由于MongoDB的c++版驱动是依赖于boost的,所以你需要提前安装好boost库,但是MongoDB的c语言版的驱动是不需要boost的。   ...

sinat_34130812的博客 2041
上一篇: RabbitMQ-C使用开发详解(Windows环境)
下一篇: 使用wfs.js库播放音视频
MingoJiang
博客等级 码龄14年 161粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MingoJiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值