下面讲述在Linux平台下MongoDB的C语言编程实例

假设已经安装好了MongoDB。

1. 下载MongoDB的C语言驱动并安装

这里下载的MongoDB的C语言驱动是 mongo-c-driver-1.3.5.tar.gz。

解压后打开mongo-c-driver-1.3.5目录下的 README 文件,按其中讲的方法安装,如下:

# tar xzf mongo-c-driver-1.3.5.tar.gz
  # cd mongo-c-driver-1.3.5
  # ./configure
  # make
  # sudo make install

2. 启动MongoDB

# mongod
2016-07-10T11:53:20.075+0800 I CONTROL  [initandlisten] MongoDB starting : pid=3071 port=27017 dbpath=/data/db 64-bit host=localhost.localdomain
2016-07-10T11:53:20.076+0800 I CONTROL  [initandlisten] db version v3.2.7
2016-07-10T11:53:20.076+0800 I CONTROL  [initandlisten] git version: 4249c1d2b5999ebbf1fdf3bc0e0e3b3ff5c0aaf2
...

3. 编写连接MongoDB的程序 test.c

#include <bson.h>
#include <bcon.h>
#include <mongoc.h>
int
main (int   argc,char *argv[])
{mongoc_client_t      *client;mongoc_database_t    *database;mongoc_collection_t  *collection;bson_t               *command,reply,*insert;bson_error_t          error;char                 *str;bool                  retval;/** Required to initialize libmongoc's internals*/mongoc_init ();//初始化libmongoc驱动/** Create a new client instance*/client = mongoc_client_new ("mongodb://localhost:27017");//创建连接对象/** Get a handle on the database "db_name" and collection "coll_name"*/database = mongoc_client_get_database (client, "db_name");//获取数据库collection = mongoc_client_get_collection (client, "db_name", "coll_name");//获取指定数据库和集合/** Do work. This example pings the database, prints the result as JSON and* performs an insert*/command = BCON_NEW ("ping", BCON_INT32 (1));retval = mongoc_client_command_simple (client, "admin", command, NULL, &reply, &error);//执行命令if (!retval) {fprintf (stderr, "%s\n", error.message);return EXIT_FAILURE;}str = bson_as_json (&reply, NULL);printf ("%s\n", str);insert = BCON_NEW ("hello", BCON_UTF8 ("world"));//字段为hello,值为world字符串if (!mongoc_collection_insert (collection, MONGOC_INSERT_NONE, insert, NULL, &error)) {//插入文档fprintf (stderr, "%s\n", error.message);}bson_destroy (insert);bson_destroy (&reply);bson_destroy (command);bson_free (str);/** Release our handles and clean up libmongoc*/mongoc_collection_destroy (collection);//释放表对象mongoc_database_destroy (database);//释放数据库对象mongoc_client_destroy (client);//释放连接对象mongoc_cleanup ();//释放libmongoc驱动return 0;
}

4. 编译 test.c

# gcc -o test test.c -I/usr/local/include/libmongoc-1.0 -I/usr/local/include/libbson-1.0/ -lmongoc-1.0 -lbson-1.0

# ls
test  test.c

5. 运行test

# ./test
{ "ok" : 1 }

连接MongoDB成功!

参阅:http://blog.csdn.net/chenjiayi_yun/article/details/50779284

MongoDB的C语言编程实例相关推荐

  1. c语言二级编程实例,二级c语言编程 -实例

    二级c语言编程 -实例 编程实例1. 题目:有 1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都 是多少? 1.程序分析:可填在百位.十位.个位的数字都是 1.2.3.4.组成所有的 ...

  2. c语言编程 目录,C语言编程实例简介,目录书摘

    内容简介: <C语言编程实例>将蓝牙小车作为教学组织引领,开展各章节.模块的教学,在教学的过程中把C语言编程.VC++软件操作.单片机外围电路搭建与调试.CAD机械制图.激光切割零件制作等 ...

  3. vhdl计算机语言,vhdl语言编程实例.doc

    vhdl语言编程实例 实现各种逻辑功能: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENT ...

  4. c++ c语言编程实例

    c++ c语言编程实例 2,求和 #include using namespace std; int main( { int a=2,b=0,n; cout<<"输入一个数:&q ...

  5. c语言编程实例下载,C语言编程实例.doc

    C语言编程实例.doc 第 3 章 请 你参考前请修改下,或者至少看明白, 2 include "string.h" include "stdio.h" mai ...

  6. plc 编程 c语言编程实例,PLC面向对象编程和梯形图编程,谁OUT了?

    在工业自动化领域,梯形图逻辑仍然是最常用的编程语言之一,但对于更加复杂的控制对象,面向对象编程不失为一种高效率的方式.下面先来谈谈面向对象编程: 面向对象编程是计算机高级语言的一种先进的编程模式,在工 ...

  7. mysql 小球_c语言编程实例——小球跳动

    1.预备知识 1.1 相关头文件 "#include"是c语言中用以申明所需调用的库函数或自定义函数的头文件路径及文件名.#include ""和#includ ...

  8. 单片机如何使用?51单片机C语言编程实例有哪些?

    大家好,我是无际单片机编程的徐明,今天和大家一起探讨一下"单片机如何使用?" 单片机如何使用,我们要知道单片机在哪里使用? 单片机是很多电子产品的核心器件,它具有一定的逻辑判断和事 ...

  9. arm7c语言编程实例,ARM芯片嵌式系统C语言编程…….pdf

    ARM芯片嵌式系统C语言编程-- 咳 牡 痞 姻 亢 朔 台 矢 盆 校 摇 为 嘛 坷 趴 鉴 皋 己 硕 可 费 味 聋 曝 特 扳 婚 雅 善 湾 搜 茎 昼 抱 掀 平 九 牙 河 诵 弘 甥 ...

最新文章

  1. 14-----块级标签和行内元素
  2. HDU 1078 FatMouse and Cheese【记忆化搜索】
  3. NYOJ 1009 So Easy[Ⅰ]【简单题】
  4. Web开发之二:什么是前端、什么是后端
  5. 自学c语言中相关知识,设计出医院住院管理系统.要求如下所述:,C语言课程设计题Z目.doc...
  6. 破解版xftp下载地址
  7. TongWeb部署Dm数据库的项目报错
  8. 两种内点法,障碍函数法(Barrier Method)和原始对偶法(Primal-Dual Method)
  9. Ember学习(1):Ember核心概念
  10. 竞品分析:美颜相机VS轻颜相机——关于美颜相机未来产品规划的思考
  11. html5 人脸活体识别,基于HTML5的人脸识别活体认证的实现方法.pdf
  12. 儿童吹泡泡水简单配方_小孩吹泡泡的 泡泡水,有谁知道详细的配方?
  13. 数据结构实训《表达式求值》
  14. scons 手册_SCons用户手册 | 学步园
  15. 零基础学习Shell编程
  16. python 爬取知网url
  17. 关于自己的一些想法-网络通用消费返点平台
  18. 京东移动端首页 案例
  19. ABAP VOFM定价过程的例程创建
  20. 如果你会玩这4个自媒体运营工具,副业收入6000+很轻松

热门文章

  1. 实习日记——Day50
  2. openwrt lan 和 wan配置
  3. ardupilot 上实现ADRC内环角速度控制
  4. 【C++】switch语句用法详解
  5. 手机桌面上的计算机为什么不能删除,为什么便签删不掉?电脑桌面的便签删不掉...
  6. BIND DNS配置详解
  7. 2016 国庆,不庆
  8. 给技术焦虑者及狂热者的建议
  9. 一个项目总监/经理心得
  10. 最实用最全悬浮Popup 拖动、跟随窗口移动、居中弹出、实时尺寸比例调整、不折叠关闭、截断显示、输入焦点