MongoDB 2.4.1 C++ driver编译和使用
来源:互联网 发布:百合手更新软件 编辑:程序博客网 时间:2024/04/30 09:41
这个版本仍然没有解决不能编译动态库的问题,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 <string>#include <memory>#include <mongo/client/connpool.h>using std::string;class MongoSession { public: /** * 从连接池中获取连接,如果没有则创建一个 */ MongoSession(string const& host, double socketTimeout=0); /** * 归还连接到池中 */ ~MongoSession(); /** * 返回已经获得的连接 */ mongo::DBClientBase& GetDBClientBase(); private: std::auto_ptr<mongo::ScopedDbConnection> con_;};#endif
#include "business/util/mongo_session.h"using namespace mongo;MongoSession::MongoSession(string const& host, double socketTimeout): con_(mongo::ScopedDbConnection::getScopedDbConnection(host, socketTimeout)) {}MongoSession::~MongoSession() { con_->done();}DBClientBase& MongoSession::GetDBClientBase() { return con_->conn();}
使用方法很简单:
shared_ptr<MongoSession> mongoSession = MongoSessionFactory::GetSession(); BSONObjBuilder condition; condition.append("address", address); mongo::Query query_condition(condition.obj()); BSONObj result = mongoSession->GetDBClientBase().findOne("your_collection", query_condition); return !result.isEmpty();
- MongoDB 2.4.1 C++ driver编译和使用
- Mongodb c Driver 编译
- Mongodb c Driver 使用实例
- mongoDB C Driver使用介绍
- mongodb安装和mongo-c-driver的安装使用
- 在Windows上编译MongoDB C Driver
- 在Windows上编译MongoDB C Driver
- 在windows下编译mongodb c driver
- mongodb c++ driver 2.0编译使用
- mongodb c driver的使用总结(1)
- c++操作mongodb Windows 下 mongo-c-driver vs2013编译 附使用实例
- MongoDB 4.6.1 c++ driver 编译
- MongoDB C++ Driver编译
- 如何将mongodb-c-driver交叉编译到ARM平台
- windows下使用Cmake和VC 2013安装mongodb C driver Windows下安装mongodb的C语言程序驱动必须借助交叉编译软件CMake,但是官网上的文档对于一些
- mongodb c driver
- MongoDB Java Driver 使用
- WinXP编译mongodb c++ driver
- #02 Multi-Linear Regression
- 再给我点时间
- iOS开发资源汇总
- Adding shadows and glows to text in Texture2D.m
- java.lang.NoClassDefFoundError: javax/el/ExpressionFactory
- MongoDB 2.4.1 C++ driver编译和使用
- 难得一见的win 7 蓝屏
- 严重: Error listenerStart org.apache.catalina.core.S
- DWR常见的错误及其解决方案
- 10个必备的移动UI设计资源站
- aac
- iOS开发有用代码(有判断邮箱格式是否正确的代码、图片压缩、亲测可用的图片上传代码和实现点击图片进行跳转的代码等。)
- 改变table列宽
- LoadRunner测试AJAX