问题标签 [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.
c++ - 如何将 BSON 对象的 OID 获取为十六进制字符串?
我正在使用mongo-cxx
驱动程序尝试将对象的对象 ID 转换为BSON
字符串
我确信BSONObj
有有效的数据,但我收到以下错误:
BSONElement:错误类型#somenumber
c++ - 如何使用 C++ 驱动程序将 mongodb 数组保存到向量中?
例如,如果我在 shell 中执行此操作
然后我想进入arr
我的 C++ 程序。
在我得到 BSONObj 之后,我可以name
得到
p
BSON 对象在哪里。
但是从数组中获取元素并将它们保存到 std::vector 中的正确方法是什么?
编辑:
经过更多研究后,我找到了 BSONElement doxygen 文档并制作了这个。
但我仍然不确定这是否是正确的方法。
c++ - MongoDb使用C++驱动创建稀疏索引
有没有办法使用 MongoDb (2.2) C++ 驱动程序创建稀疏索引?
该ensureIndex
函数似乎不接受此参数。来自MongoDb 文档:
c++ - 在 C++ 中正确修改 mongo::BSONObj
我编写了一个使用 mongodb 进行数据存储的软件。查询返回数据后,BSONObj 用于很多不同的地方。
目前,我需要为查询返回的 BSONObj 添加 C++ 端修改的可能性。由于后面的部分相当大,我只能修改查询部分,但是查看 BSONObj 和 BSONElement 引用我看不到编辑 BSONObj 而不在每次编辑时重建它的正确方法。
修改代码类似于以下内容:
我研究的选项之一是创建一个单一的BSONObjBuilder
并对其进行修改,但它没有提供查询对象的选项,并且文档没有说明现有字段和append()
.
c++ - 在 C++ 中使用嵌套数组处理 MONGO 记录
我正在尝试使用 MONGO C++ API 来处理一堆如下所示的记录......“条目”数组中的行数是可变的:它是 13 或 7。
我根据 UTCTime 和 SvId 查询集合......当我取回记录时,我不确定如何逐步完成它们......
通常,我只是得到一个游标并使用“next()”遍历返回的记录集……但现在我有一个包含 7 或 13 个条目的“条目”字段。我如何访问这些项目中的每一个?我猜肯定有某种“子光标”可以用来循环遍历那些。
我正在查看 API 和示例,但嵌套数组的内容并不多。
谢谢,
瑞克
c++ - how to get `_id` after upserting document in mongo-c-driver or mongo-cxx-driver?
How to get _id
after upserting document in mongo-c-driver Or mongo-cxx-driver?
The following code snippet is from mongo-shell, Which shows the _id
field in last row of WriteResult
.
c++ - compare_numbers.h:83:警告:将参数 2 的 'double' 传递给 'int mongo::compareLongs(long long int, long long int)'
我想在 RHEL 5 中编译 mongo c++ 驱动程序,但是使用时scons
,错误是:
这是什么 ?
mongodb - 在 C++ 驱动程序中具有经过身份验证的连接的 mongodb 连接池
我读过 C++ 驱动程序的连接池不适用于经过身份验证的连接( 2013 年底的文章)。这(仍然)是真的吗?
c++ - 通过 cmake 链接 boost-thread 和 boost-regex 时的 SIGSEGV(分段错误)
我尝试编译并运行 mongo-cxx-driver 的示例。它需要链接 Boost-system、boost-thread 和 boost-regex。当我通过命令行编译时:
g++ simple_client_demo.cpp -I/home/ssi/mongo-client-install/include -L/home/ssi/mongo-client-install/lib -lmongoclient -lboost_system -lboost_thread -lboost_regex
一切都很好。但是当我尝试通过 Cmake 编译时,我得到 Signal: SIGSEGV (Segmentation fault)
in /usr/include/c++/4.8/functional(2030 行_M_manager(_M_functor, _M_functor, __destroy_functor);
,如果它确实重要的话)。
我的 CMakeList.txt 的一部分,它链接了 Boost:
ldd a.out
g++
(从命令编译):
ldd test_mongo_c_driver
(从 cmake 编译):
这是我的 simple_client_demo.cpp:
输出make VERBOSE=1
:
mongo-c-driver - mongo c驱动程序的内存损坏
我有内存损坏,我不知道为什么。错误信息是:
我正在使用 1.1.10 版的 mongoc 库。这是我的代码片段:
我在迭代插入的 bucle 中有这个函数。奇怪的是第一次插入没问题,但是当它进行第二次插入时,就会发生内存损坏。
基本上(伪代码):
如果它有任何帮助,之前我连接了一个具有相同结果的 MySQL 数据库。我安装了 valgrind 来检查不是分配内存错误还是因为我没有释放内存。valgrind 没有报告内存错误。
我设法修复了在每次插入之前插入此行的错误:
在插入的最后:
我认为错误可能是相似的,但我没有找到任何函数来初始化和关闭 mongodb 库。
编译的命令行是: