Home >Database >Mysql Tutorial >MongoDB 2.4.1 C++ driver编译和使用

MongoDB 2.4.1 C++ driver编译和使用

WBOY
WBOYOriginal
2016-06-07 17:28:21980browse

这个版本仍然没有解决不能编译动态库的问题,MongoDB这帮人发什么神经? 原来两个绕过的方法也不行了。 只有使用静态库了。 下载

这个版本仍然没有解决不能编译动态库的问题,MongoDB这帮人发什么神经?

原来两个绕过的方法也不行了。

只有使用静态库了。

下载最新版的代码,编译

scons --prefix=/usr install

旧版的C++代码会编译报错,因为ScopedDbConnection的构造函数变成了私有,,必须通过静态方法来创建。

 

所以调用代码要做相应调整。

我的CMake工程配置如下:

target_link_libraries(service ${Boost_LIBRARIES} booster loki cryptopp mongoclient)

应该没有问题了。

 

分享一下我的C++封装类:

#ifndef BUSINESS_UTIL_MONGO_SESSION_H_
#define BUSINESS_UTIL_MONGO_SESSION_H_

#include
#include
#include

using std::string;


class MongoSession {
 public:
    /**
    * 从连接池中获取连接,如果没有则创建一个
    */
    MongoSession(string const& host, double socketTimeout=0);

    /**
    * 归还连接到池中
    */
    ~MongoSession();
   
    /**
    * 返回已经获得的连接
    */
    mongo::DBClientBase& GetDBClientBase();

 private:
    std::auto_ptr<:scopeddbconnection> con_;
};


#endif

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

推荐阅读:

CentOS编译安装MongoDB

CentOS 编译安装 MongoDB与mongoDB的php扩展

CentOS 6 使用 yum 安装MongoDB及服务器端配置

Ubuntu 13.04下安装MongoDB2.4.3

如何在MongoDB中建立新数据库和集合

MongoDB入门必读(概念与实战并重)

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn