我正在使用基于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;
我错过了一些明显的东西吗? 是否有更新的例子?
答案 0 :(得分:0)
您的代码看起来是正确的,因为您包含了make_document
和make_array
所需的所有必需的头文件。
您在评论中说,document.hpp不包含make_document
,而array.hpp不包含make_array
模板。
这适用于发布mongo-cxx-driver-r3.1.1
。
在当前主分支中,头文件存在,您可以看到它们是否遵循其源链接:document.hpp和array.hpp。您使用的示例可能是新的主分支,因为它们也来自git的当前分支。