2023-07-04 14:10:13 +08:00

41 lines
844 B
C++

//
// Created by dongl on 23-5-29.
//
#include "db_base.h"
#include "mongocxx/instance.hpp"
#include "mongocxx/uri.hpp"
db_base::db_base() {
mongocxx::instance instance{}; // This should be done only once.
mongocxx::uri uri("mongodb://user_session:Aa316216@124.221.152.192:27017/?authSource=im_session");
pool = new mongocxx::pool(uri);
}
db_base::~db_base() {
delete pool;
}
mongocxx::pool::entry db_base::acquire() {
return pool->acquire();
}
bsoncxx::stdx::optional<mongocxx::pool::entry> db_base::try_acquire() {
return pool->try_acquire();
}
mongocxx::collection db_base::hit_db_coll(const std::string& db_name, const std::string& coll_name) {
// 取池链接
auto conn = acquire();
// 选中库
auto db = conn->database(db_name);
// 选中表
return db.collection(coll_name);
}