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

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

时间:2023-05-20 20:34:43浏览次数:46  
标签:mongocxx cmake mongo vscode c++ cpp include

 

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;
}

 

标签:mongocxx,cmake,mongo,vscode,c++,cpp,include
From: https://www.cnblogs.com/renfanzi/p/17417746.html

相关文章

  • 【重学C++】01| C++ 如何进行内存资源管理?
    文章首发【重学C++】01|C++如何进行内存资源管理?前言大家好,我是只讲技术干货的会玩code,今天是【重学C++】的第一讲,我们来学习下C++的内存管理。与java、golang等自带垃圾回收机制的语言不同,C++并不会自动回收内存。我们必须手动管理堆上内存分配和释放,这往往会导致内存泄漏......
  • C++中动态和静态库(dll) 使用(转)
    目录:1.lib与dll介绍2.动态库的生成与使用3.静态库的生成与使用 1.首先介绍下静态库(静态链接库,.lib文件),动态库*(动态链接库,.dll文件)的概念,两者都是代码共享的方式.静态链接:静态链接是指在编译的时候就把模块的内容加载进来一起编译,这样编出来的exe文件包含了模块......
  • VSCode 快捷键整理
    VSCode快捷键整理1,搜索Ctrl+F:查找Ctrl+H:替换2,行操作剪切一行:Ctrl+X复制一行:Ctrl+C删除一行:Ctrl+Shilft+KAlt+↑/↓:向上/向下移动行Movelineup/downShift+Alt+↓/↑:向上/向下复制行Copylineup/down3,导航F12Alt+←/→ :返回/前进Goback......
  • Python接口MongoDB实现接口查询数据库功能
    一、所需工具Python,pymongo,Mongodb,Flask二、安装1、安装Python我这里安装的是 3.8.0版本,输入python-V可以查看当前版本    2、安装pymongo命令行中输入  pip3installpymongo 命令执行即可完成安装。3、服务器安装Mongodb环境:linux系......
  • C/C++学生宿舍管理系统[2023-05-20]
    C/C++学生宿舍管理系统[2023-05-20]课程报告任务书题目学生宿舍管理系统主要内容用C语言开发一个简单的学生宿舍管理系统。实现宿舍信息管理,用户信息管理以及住宿管理功能。【数据结构】1.宿舍信息。包括:宿舍编号、所属楼号,所属楼层、面积、床位数等。2.登陆账号信息。包括:......
  • c和c++各种类型数据左移溢出对比
    cint:1#include<stdio.h>2main(){3//int4intj=1;//<<31==21474836485//1<<32==16//(1<<32)-1==07//(1<<32)-2==42949672958for(inti=30;i<(1<<5)+1;i......
  • C/C++家谱管理[2023-05-20]
    C/C++家谱管理[2023-05-20]家谱管理中国历史悠久,中华民族有五千年的文明史。从远古的神话传说时代、尧舜禹的禅让、夏商西周、东周春秋战国的百家争鸣、秦汉一统、三国战乱、魏晋南北朝的民族大融合、隋唐五代光辉灿烂的文化直到宋元明清帝制结束。五千年的历史留给我们的是无尽......
  • C++ Today01
    1.1C++初始#include<iostream>usingnamespacestd;intmain(){cout<<"HelloC++"<<endl;system("pause");return0;}1.单行注释#include<iostream>usingnamespacestd;//1.单行注释//2.多行注释intma......
  • c++ socket API使用流程(转)
    原文:https://blog.csdn.net/weixin_43687811/article/details/122657720?spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-16-122657720-blog-121686590.pc_relevant_multi_platform_featuressor......
  • MongoDB-3
    mongodb进阶mongodb集群有三种模式,主从模式,副本集模式、sharding分片集模式。官网不推荐上生产环境上部署主从模式,主要是安全性太低。副本集和sharding分片集模式目前使用的最广的方案,通常这2种方案的选择通过数据量和并发数来权衡。在GB级别的基本上副本集方案可满足,TB级别或以......