问题标签 [mongo-cxx-driver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
489 浏览

c++ - Mongodb cxx + Unreal Engine 4 - 迭代光标时崩溃

在我的数据库中找到一些文档后,在迭代 mongocxx::cursor 时或之后出现错误。

我正在使用 Windows 10、虚幻引擎 4.16.1 和 mongodb cxx 3.1.1。

数据库连接设置正确,find 函数找到我的文档并返回一个有效的游标。

它最终出现在这个异常中:

UE4Editor.exe 中的 0x00007FFDED56B698 (UE4Editor-Core.dll) 处引发异常:0xC0000005:访问冲突写入位置 0x0000000000000010。

使用此输出:

使用此调用堆栈: Visual Studio 中的错误

我想知道为什么错误总是出现在虚幻宏中。奇怪的是,这个错误并非每次都发生。有时它不会崩溃。我希望你能知道我的错误是什么。

这是我加载和显示数据的功能。“MongoDBPool”是一个成员变量。

如果我不在 for 循环中访问 Doc 变量,程序将不会崩溃。所以一定有错误。

谢谢你的帮助 :*

0 投票
1 回答
1213 浏览

c++ - mongo-cxx-driver 安装确实安装了库

我正在尝试在 Ubuntu14.4 上编译 mongo-cxx-driver-r3.1.1 。我已经按照说明从源代码安装了 mongo-c-driver-1.6.3。

我有提升版本 1.57。当我尝试按照https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/中提供的说明使用 cmake 编译 mongo-cxx-driver-r3.1.1 时。

我得到以下日志:

-- 增强版:1.57.0

-- 配置完成

-- 生成完成

-- 构建文件已写入:/user/home/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build

我尝试了其他选项,例如:

但是,我没有看到 mongocxx 相关的库或头文件。以下是 CMakeFiles/CMakeOutput.log 输出:

系统为:Linux - 3.13.0-32-generic - x86_64 编译CXX

编译器识别源文件“CMakeCXXCompilerId.cpp”

成功了。编译器:/usr/bin/g++-4.8 构建标志:Id 标志:

输出是:

0

编译CXX编译器识别源“CMakeCXXCompilerId.cpp”产生“a.out”

CXX 编译器标识为 GNU,可在“/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/3.2.2/CompilerIdCXX/a.out”中找到

通过以下输出确定 CXX 编译器是否工作:更改目录:/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp

运行构建命令:"/usr/bin/make" "cmTryCompileExec1480695504/fast"

ake[1]:进入目录/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec1480695504.dir/testCXXCompiler.cxx.o /usr/bin/g++-4.8 -o CMakeFiles/cmTryCompileExec1480695504.dir/testCXXCompiler.cxx.o -c /home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx Linking CXX executable cmTryCompileExec1480695504 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1480695504.dir/link.txt --verbose=1 /usr/bin/g++-4.8 CMakeFiles/cmTryCompileExec1480695504.dir/testCXXCompiler.cxx.o -o cmTryCompileExec1480695504 -rdynamic make[1]: Leaving directory/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp'

检测使用以下输出编译的 CXX 编译器 ABI 信息:更改目录:/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp

运行构建命令:“/usr/bin/make”“cmTryCompileExec4079379117/fast”......

.....................


/home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/src.cxx:2:25:警告:\u2018int somefunc()\u2019 已弃用(在 /home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/src.cxx:1 声明) [-Wdeprecated-declarations] int main() { return somefunc();} ^ /home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/src.cxx:2:34:警告:\ u2018int somefunc()\u2019 已弃用(在 /home/cvaidyan/mongo-c-driver-1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp/src.cxx:1 声明)[- Wdeprecated-declarations] int main() { return somefunc();} ^ 链接 CXX 可执行文件 cmTryCompileExec1892014975 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1892014975.dir/link。txt --verbose=1 /usr/bin/g++-4.8 -DCOMPILER_HAS_DEPRECATED_ATTR CMakeFiles/cmTryCompileExec1892014975.dir/src.cxx.o -o cmTryCompileExec1892014975 -rdynamic make[1]:离开目录`/home/cvaidyan/mongo-c-driver -1.6.3/mongo-cxx-driver-r3.1.1/build/CMakeFiles/CMakeTmp'

源文件为: attribute (( deprecated )) int somefunc() { return 0; } int main() { return somefunc();}

如果有意义,我可以发布整个 cmake 输出。我在文件中搜索了“错误”或“失败”,但找不到任何一个字符串。

如果有人能指出我在这里缺少什么,那就太好了?

0 投票
1 回答
696 浏览

c++ - 使用 CMake 生成 Visual Studio 2017 项目

我尝试构建 Mongo C++11 驱动程序以在我的项目中使用。Mongo 驱动程序编译良好。使用它们的说明坚持认为,在将以下代码用于自己的项目时,以下代码也应该是.vcxproj我项目的一部分(如果使用 Visual Studio,我在 Windows 10 64 位上使用)。

我需要什么样的代码来确保这段代码自动包含在我.vcxproj由 CMake 生成的代码中?我的 CMakeLists.txt 如下。

0 投票
1 回答
487 浏览

c++ - CreateUser 使用 mongocxx 3.1.1 C++ 失败

在 Windows 10 上使用 MongoDB 服务器 3.4.4,以下命令可以正常工作:

使用 mongocxx 3.1.1 C++ 驱动程序运行相同的命令失败:

出现错误:

“createUser”的类型错误。预期的字符串,找到的对象:通用服务器错误。

我找不到生成正确文档的语法。任何想法?

0 投票
1 回答
395 浏览

c++ - Mongodb Cxx 驱动程序测试在发布版本中崩溃 [在调试中工作正常]

我按照此处描述的步骤在 Windows 中构建了 mongodb cxx 二进制文件。

我已经按照步骤中的说明创建了测试应用程序。在发布版本中,应用程序在这一行抛出bad allocation异常: ]:std::bad_alloc at memory location 0x0047EB60

相同的代码适用于 Debug 构建。

有人可以帮我解决 Release build 中的问题吗?

0 投票
1 回答
607 浏览

c++ - Mongodb C++ 编译问题

我正在尝试为 c++ 编译 mongodb 驱动程序并按照 url 中给出的说明进行操作:Mongocxx

我收到以下错误:

我检查了 libbson 已经安装在 /usr/local/bin 中。无法找出根本原因。请协助。

0 投票
1 回答
824 浏览

c++ - Mongo - 从值中获取 view_or_value?

我刚刚开始使用 Mongo,但在将文档写入集合时遇到了一些麻烦。我似乎无法从 document::value 转换为 string::view_or_value。关于整理这些类型的任何提示?我尝试直接发送 doc_value,但这对插入无效。

0 投票
1 回答
1115 浏览

mongodb - MongoCXX - 处理来自不同的游标

我认为我在这里尝试做的事情应该相当明显 - 查询集合 m_coll,并从该集合中获取所有唯一的密度值。但是,它返回的是一个元素,而不是完整的文档,因此您似乎无法键入它,并且它对您大喊大叫,即C++ exception with description "unset document::element" thrown in the test body.. 需要进行哪些修改才能完成这项工作?

0 投票
1 回答
157 浏览

mongodb - 从 mongo 结果中获取数据比逐字段更快的方法?

有没有比逐个字段更快地将 mongo 结果解析回数据结构的方法,如下所示?我目前正在这样做,而且速度很慢。

0 投票
1 回答
299 浏览

c++ - 将 MongoDB C++ 驱动程序升级到 mongocxx-3.1.2

如何轻松地从 mongoDB C++ 驱动程序从 Legacy 升级到 mongocxx-3.1.2?mongocxx-3.1.2 中有哪些课程可供关注?

提前致谢..