CentOS7下mongoc安装,验证

时间:2020-11-28 06:57:51

简介

mongoc是MongoDB的C语言驱动

下载解压并配置

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

$ cd mongo-c-driver-1.6.3

$ ./configure --disable-automatic-init-and-cleanup                              

如果配置成功会显示如下:

libmongoc 1.6.3 was configured with the following options:
Build configuration:
Enable debugging (slow) : no
Compile with debug symbols(slow) : no
Enable GCC buildoptimization : yes
Enable automatic init andcleanup : no
Enable maintainer flags : no
Code coverage support : no
Cross Compiling : no
Fast counters : no
Shared memory performancecounters : yes
SASL :no
SSL :no
Libbson : bundled
Documentation:
man :no
HTML :no

编译安装mongodb驱动

$make //编译

$sudo make install //安装命令

安装完成可以在

/usr/local/include    目录看到相应的.h文件

/usr/local/lib        目录看到相应的*.so*等文件

安装mongodb

$curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    # 下载
$tar -zxvf mongodb-linux-x86_64-3.0.6.tgz                                   # 解压
$mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb                         # 将解压包拷贝到指定目录
 
 

创建数据库目录,启动服务

mongodb的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。

以下实例中我们将data目录创建于根目录下(/)

注意:/data/db MongoDB默认的启动的数据库路径(--dbpath)

$mkdir -p /data/db

$cd /usr/local/mongodb/bin
$./mongod  //启动服务
 
 

编写验证程序

编辑以下代码保存为connect.c
 
 
  1. #include "bson.h"  
  2. #include "bcon.h"  
  3. #include "mongoc.h"  
  4. int main (int   argc,char *argv[])  
  5. {  
  6.    mongoc_client_t      *client;  
  7.    mongoc_database_t    *database;  
  8.    mongoc_collection_t  *collection;  
  9.    bson_t               *command,  
  10.                          reply,  
  11.                         *insert;  
  12.    bson_error_t          error;  
  13.    char                 *str;  
  14.    bool                  retval;  
  15.    mongoc_init ();  
  16.    client = mongoc_client_new ("mongodb://localhost:27017");  
  17.    mongoc_client_set_appname (client, "connect-example");  
  18.    database = mongoc_client_get_database (client, "db_name");  
  19.    collection = mongoc_client_get_collection (client, "db_name""coll_name");  
  20.    command = BCON_NEW ("ping", BCON_INT32 (1));  
  21.    retval = mongoc_client_command_simple (client, "admin", command, NULL, &reply, &error);  
  22.    if (!retval) {  
  23.       fprintf (stderr, "%s\n", error.message);  
  24.       return EXIT_FAILURE;  
  25.    }  
  26.    str = bson_as_json (&reply, NULL);  
  27.    printf ("%s\n", str);  
  28.    insert = BCON_NEW ("hello", BCON_UTF8 ("world"));  
  29.    if (!mongoc_collection_insert (collection, MONGOC_INSERT_NONE, insert, NULL, &error)) {  
  30.       fprintf (stderr, "%s\n", error.message);  
  31.    }  
  32.    bson_destroy (insert);  
  33.    bson_destroy (&reply);  
  34.    bson_destroy (command);  
  35.    bson_free (str);  
  36.    mongoc_collection_destroy (collection);  
  37.    mongoc_database_destroy (database);  
  38.    mongoc_client_destroy (client);  
  39.    mongoc_cleanup ();  
  40.    return 0;  
  41. }  

设置运行所需库

编辑/etc/profile 添加如下内容,并保存退出
PATH=$PATH:$HOME/bin:/usr/local/mongodb/bin
export PATH
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
CPATH=$CPATH=:/usr/local/include/libmongoc-1.0:/usr/local/include/libbson-1.0
export CPATH
$source /etc/profile

编译运行

$gcc -o connect connect.c   -lmongoc-1.0  -lbson-1.0 
生成connect应用程序
$./connect
如果配置成功则在终端输出:
{ "ok" : 1.0 }