vscode c++链接mongo数据库的操作随笔

佚名 / 2023-05-21 / 原文

 

1、需要先下载安装各种软件及依赖

1)c++链接mongo数据库需要涉及到这几个库,而且版本直接有范围

boost

cmake

libbson

mingw

mongo-c

openssl

gcc

mongocxx

 

 2、vscode安装,用vscode的好处就是会省事情很多

1)下载安装vscode2022版本

2)也可以用vscode进行安装上面的各种类库

先进入到编译目录,例如mongoc目录下面

然后用cmake进行编译

cmake -G "Visual Studio 17 2022" "-DCMAKE_INSTALL_PREFIX=C:\mongo-cpp-driver" "-DCMAKE_PREFIX_PATH=C:\mongo-cpp-driver"

这里多说一句,我也尝试用了mingw,但是很容易各种报错,用mingw的好处是,可以平移迁移到linux上去

cmake -G "MinGW Makefiles" -DCMAKE_C_FLAGS="-D__USE_MINGW_ANSI_STDIO=1" .

下一步,则是在目录中找到一个文件,用vscode双击打开(一个sln结尾的文件)

 下一步,右键生成,build和install即可

 

 

 3、安装mongo数据库

4、vscode创建项目

 5、当左右的基础工作都已经做好以后,开始进行项目配置

 1)需要先把各个库的lib、include和bin命令都复制到当前路径下

 

 

 

 

 2)然后进行配置,右键点击属性

 3)配置完以后,重新扫描解决方案。

配置include

 所有选项设置附加目录

 链接器lib配置

 

 

6、代码试运行

// mongo_cpp.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
#include <bsoncxx/builder/stream/document.hpp>
#include <bsoncxx/json.hpp>
//#include <boost/none.hpp>
//#include <boost/optional/optional.hpp>
//#include <boost/version.hpp>
//#include <boost/utility/string_ref.hpp>


int main()
{
    mongocxx::instance inst{}; // 实例化 Mongocxx 库
    mongocxx::uri uri("mongodb://localhost:27017"); // 连接 MongoDB URI
    mongocxx::client conn(uri); // 创建连接实例

    auto collection = conn["testdb"]["testcollection"]; // 获取集合

    // 插入文档
    bsoncxx::builder::stream::document doc{};
    doc << "name" << "Alice" << "age" << 28;
    collection.insert_one(doc.view());

    // 查询文档
    auto result = collection.find_one(bsoncxx::builder::stream::document{} << "name" << "Alice" << bsoncxx::builder::stream::finalize);
    if (result) {
        std::cout << bsoncxx::to_json(*result) << std::endl;
    }
    else {
        std::cout << "No matching documents found." << std::endl;
    }

    return 0;
}