当前位置: 首页 > 知识库问答 >
问题:

在mongodb C++驱动程序中使用声明“not found”

穆才良
2023-03-14

我使用的是基于Mongo-C-Driver-1.6.2的Mongo-Cxx-Driver-R3.1.1。使用github上提供的最新示例,我设法找到了如何连接数据库以及如何保存文档。

我很难按照mongocxx/query.cpp示例中提供的信息使用筛选器来获取结果。

有很多对make_document方法的调用,但我在bsoncxx名称空间中没有使用该名称的类/方法/模板(make_array也有同样的问题)。

下面是包含、使用指令和使用声明:

#include <bsoncxx/builder/basic/document.hpp>
#include <bsoncxx/builder/basic/array.hpp>
#include <bsoncxx/builder/basic/kvp.hpp>
#include <bsoncxx/types.hpp>
#include <bsoncxx/json.hpp>
#include <bsoncxx/stdx/make_unique.hpp>
#include <bsoncxx/stdx/optional.hpp>
#include <bsoncxx/stdx/string_view.hpp>

#include <mongocxx/instance.hpp>
#include <mongocxx/pool.hpp>
#include <mongocxx/stdx.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/logger.hpp>
#include <mongocxx/uri.hpp>
#include <mongocxx/exception/exception.hpp>
#include <mongocxx/options/find.hpp>

using namespace mongocxx;
using namespace bsoncxx;

using bsoncxx::builder::basic::document;
using bsoncxx::builder::basic::kvp;
using bsoncxx::builder::basic::sub_document;
using bsoncxx::builder::basic::sub_array;
using bsoncxx::builder::basic::array;
using bsoncxx::types::value;
using mongocxx::result::insert_one;
using bsoncxx::builder::basic::make_array;
using bsoncxx::builder::basic::make_document;

共有1个答案

柳胡媚
2023-03-14

您的代码看起来是正确的,因为您包含了make_documentmake_array所需的所有必要头文件。您在注释中说,document.hpp不包含make_document,array.hpp不包含make_array模板。这对于发行版mongo-cxx-driver-r3.1.1是正确的。

在当前的主分支中,头文件存在,如果您遵循它们的源链接:document.hpp和array.hpp就可以看到。您使用的示例可能是针对新的主分支的,因为它们也来自Git的当前分支。

 类似资料:
  • 我想得到一些关于批处理语句执行的澄清。 我在批处理中为不同的表添加了许多insert/update语句。当我执行批处理时,我希望如果任何一个查询失败,所有其他插入/更新都不会成功。但这并没有发生。我可以看到部分更新/插入。 我怎样才能实现这一点?[如果任何一个查询失败,该批的所有更新/插入都不应发生。] 如何获取/打印导致批处理执行失败的确切问题查询? 已记录批处理语句的用途是什么? http:/

  • 如何将Crystal Reports与ucanaccess jdbc驱动程序一起使用?我得到“未找到驱动程序”错误。我将ucanaccess jar文件复制到程序文件(C:\program files(x86)\Business objects\common\3.5\java)中的业务对象,编辑了crconfig.xml文件,并且已经在Crystal Reports中配置了JDBC(JNDI)。M

  • 我在Windows上的netbeans项目中使用Derby遇到了麻烦。我刚刚下载并配置了Derby,并将CLASSPATH变量设置为 当我运行命令时 一切都和预期的一样,我得到了输出 等等。 现在,当我运行一个直接从命令提示符使用derby的Java程序时,一切都运行得很好: 但当我尝试从Netbeans运行完全相同的程序时,我得到以下错误 为什么驱动程序在命令提示符下工作,而不是在NetBean

  • 我试图在MongoDB\驱动程序\查询中使用选项: 如果$选项似乎可以: --------$options: 数组([排序]= $query没有给我好的选项: 限制和批量大小不等于20,为什么?请问怎么办? 提前感谢

  • 请帮我找到一个合适的解决办法 收集被存储的用户详细信息app_users 用户预订是存储预订的集合 我正在使用的查找(左连接)查询是 我想从用户集合中选择具有相应用户详细信息的预订,但返回为空,因为mongodb正在将字符串与objectId进行比较,所以是否有方法执行此任务?

  • 我已经重构了我的脚本几次,以使它工作,现在得到和错误。请谁能帮助我了解屏幕上实际显示的是什么,我哪里出了问题? 在0.014s内运行2个测试 失败(错误=2)