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

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

    网上的各种资源,无法正常编译出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

 

Mongo-C-DriverMongo-CXX-Driver的编译及使用 Mongo-C-DriverMongo-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库,添加路径以后依 阅读详情

相关推荐

MongoDBwindows10下的C++开发环境搭建

MongoDBwindows10下的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官网下载。

jean7155的专栏 1359

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万+

MongoDB c#驱动 dll

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

mongo-c-driver MongoDB使用笔记

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

1393

mongo c driver搭建与使用

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

chouchou66的博客 729

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的专栏 5137

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

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

lee353086的专栏 730

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的博客 1175

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

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

qq_23604781的博客 4032

c++操作mongodb Windowsmongo-c-driver vs2017编译 附使用实例

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

x_xx_xxx_xxxx的博客 4609

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的博客 2280

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

MongoDB VS2015 windows10下的C++开发环境搭建(亲妈级教程)长话短说 先上下载地址:MongoDBVS2015windows10下的C++开发环境搭建-C++文档类资源-CSDN下载编译顺序:(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的博客 597

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...

斧冰 3169

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的专栏 2146

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

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

linuxheik的专栏 1083

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的专栏 488

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

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

zhengudaoer的博客 1730

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的博客 974

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的博客 2037
上一篇: RabbitMQ-C使用开发详解(Windows环境)
下一篇: 使用wfs.js库播放音视频
MingoJiang
博客等级 码龄14年 160粉丝 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、付费专栏及课程。

余额充值