MongoDB在C++中的应用

MongoDB在C++中的应用,第1张

MongoDB在C++中的应用 安装

参考链接: http://mongocxx.org/mongocxx-v3/installation/linux/

外部工具
$ sudo apt-get install libmongoc-1.0-0
$ sudo apt-get install libbson-1.0
$ sudo apt-get install cmake libssl-dev libsasl2-dev
安装mongo-c-driver
$ git clone -v https://github.com.cnpmjs.org/mongodb/mongo-c-driver.git
$ mkdir cmake-build
$ cd cmake-build
$ cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF ..
$ sudo make install
安装mongo-cxx-driver
$ git clone -v https://github.com.cnpmjs.org/mongodb/mongo-cxx-driver.git
$ mkdir cmake-build
$ cd cmake-build
$ sudo cmake ..                                
    -DCMAKE_BUILD_TYPE=Release          
    -DBSONCXX_POLY_USE_MNMLSTC=1                      
    -DCMAKE_INSTALL_PREFIX=/usr/local
$ sudo make EP_mnmlstc_core
$ sudo make
$ sudo make install
代码 CMake工程配置文件
cmake_minimum_required(VERSION 2.8)

set(APPNAME demo)
project(${APPNAME})

set(ENV{PKG_CONFIG_PATH} /usr/lib/pkgconfig)
find_package(PkgConfig)
pkg_search_module(BSON REQUIRED libbsoncxx)
pkg_search_module(MonGO REQUIRED libmongocxx)

SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -pthread -g -Wl,-rpath=./lib")

include_directories(app
    ${BSON_INCLUDE_DIRS}
    ${MONGO_INCLUDE_DIRS})

aux_source_directory(. DIRSRCS)
add_executable(${APPNAME}
    ${DIRSRCS}
    )

# link library to application
target_link_libraries(${APPNAME}
    ${BSON_LIBRARIES}
    ${MONGO_LIBRARIES}
    )
使用案例
#include "Mongo.h"

#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

namespace mongo
{
    bool Mongo::Init()
    {
        LOG(INFO) << "mongo init...";

        try
        {
            mongocxx::instance instance{}; // This should be done only once.
            mongocxx::uri uri("mongodb://admin:[email protected]:27017");

            mongocxx::pool pool{uri};
            auto client = pool.acquire();
            //列出数据库名称
            for(auto iter : client->list_database_names())
            {
                LOG(INFO)<<"database: "< find_result = collection.find_one(find_doc);
            if(find_result) 
            {
                LOG(INFO)<<"find data: "<					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5593601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存