linux下c 链接mongodb,Linux平台下MongoDB的C语言编程实例

下面讲述在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

#include

#include

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成功!

更多MongoDB相关教程见以下内容:

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm

MongoDB 的详细介绍:请点这里

MongoDB 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值