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

时间:2017-06-14 09:34:24

标签: c++ mongodb

我正在使用基于mongo-c-driver-1.6.2的mongo-cxx-driver-r3.1.1。 使用latest examples provided on github,我设法找到了如何连接数据库以及如何保存文档。

我正在努力根据mongocxx/query.cpp example中提供的信息使用过滤器获取结果。

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

Heres是包含,using指令和使用声明:

#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 个答案:

答案 0 :(得分:0)

您的代码看起来是正确的,因为您包含了make_documentmake_array所需的所有必需的头文件。 您在评论中说,document.hpp不包含make_document,而array.hpp不包含make_array模板。 这适用于发布mongo-cxx-driver-r3.1.1

在当前主分支中,头文件存在,您可以看到它们是否遵循其源链接:document.hpparray.hpp。您使用的示例可能是新的主分支,因为它们也来自git的当前分支。