rtxbc 发表于 2013-1-26 12:34:57

Mongodb 的C语言操作

现在mongodb 越来越流行,越来越多的公司在使用mongodb数据库。而且为很多语言留下了接口。
个人还是比较喜欢用C去操作各类流行的产品。
 
准备文件
首先要安装mongodb,mongodb是免安装的,下载解压之后,可以直接启动起来,然后再执行下面的操作.
 
 
从https://github.com/mongodb/mongo-c-driver下载
http://dl.iteye.com/upload/attachment/544033/9ba70962-2484-3069-b8ab-c3445da7f2e4.jpg
 
 
下载后的文件
http://dl.iteye.com/upload/attachment/544031/27ae81b8-6f18-36ca-a060-aa3a85a51405.jpg
 
 
参考文献:
http://api.mongodb.org/c/current/tutorial.html#c-api
 
 
main.c文件
 
#include <stdio.h>#include "mongo.h"int main(){    mongo conn;    int status = mongo_connect(conn,"127.0.0.1",27017);    if( status != MONGO_OK ) {         switch ( conn->err ) {             case MONGO_CONN_SUCCESS:    printf( "connection succeeded\n" ); break;            case MONGO_CONN_NO_SOCKET:printf( "no socket\n" ); return 1;            case MONGO_CONN_FAIL:       printf( "connection failed\n" ); return 1;            case MONGO_CONN_NOT_MASTER: printf( "not master\n" ); return 1;      }       }       char *table="test.people";    // Create Json Data    bson b;    bson_init(b);    bson_append_string(b,"name","joe");    bson_append_int(b, "age", 33);    bson_finish(b);    mongo_insert(conn, table, b);   // Query the Data    mongo_cursor cursor;    mongo_cursor_init(cursor, conn, table);    while(mongo_cursor_next(cursor) == MONGO_OK){      bson_print(&cursor->current);    }                                    bson_destroy(b);    mongo_destroy(conn);    return 0;} Makefile
CC=gcc1:    ${CC} -Isrc --std=c99 /home/share/db/driver/mongo-driver-c/src/*.c -I/home/share/db/driver/mongo-driver-c/src/ main.c -o main 编译
$ makegcc -Isrc --std=c99 /home/share/db/driver/mongo-driver-c/src/*.c -I/home/share/db/driver/mongo-driver-c/src/ main.c -o main 
执行
$ ./main _id : 74e5718002cec9da3a541f387name : 2joeage : 1633_id : 74e5718402cec9da3a541f388name : 2joeage : 1633_id : 74e57184a2cec9da3a541f389name : 2joeage : 1633_id : 74e5719a62cec9da3a541f38aname : 2joeage : 1633
页: [1]
查看完整版本: Mongodb 的C语言操作