31 lines
722 B
C++
31 lines
722 B
C++
//
|
|
// Created by dongl on 23-5-27.
|
|
//
|
|
|
|
#include "MongoPool.h"
|
|
#include "mongocxx/instance.hpp"
|
|
|
|
|
|
MongoPool::MongoPool() {
|
|
static mongocxx::instance instance{}; // This should be done only once.
|
|
uri = mongocxx::uri("mongodb://user_session:Aa316216@124.221.152.192:27017/?authSource=im_session");
|
|
}
|
|
|
|
mongocxx::pool::entry MongoPool::acquire() {
|
|
static auto mongoPool = new MongoPool();
|
|
return mongoPool->pool_fun(mongoPool)->acquire();
|
|
}
|
|
|
|
auto MongoPool::try_acquire() {
|
|
static auto mongoPool = new MongoPool();
|
|
return mongoPool->pool_fun(mongoPool)->try_acquire();
|
|
}
|
|
|
|
mongocxx::pool* MongoPool::pool_fun(MongoPool *mongoPool) {
|
|
static mongocxx::pool pool(mongoPool->uri);
|
|
return &pool;
|
|
}
|
|
|
|
|
|
|