将 JSON 插入 Mongocxx

Insert JSON into Mongocxx

我目前正在尝试将 JSON 文件插入我的 mongoDB。我已经看到这是通过过去使用 mongo::BSONObj 解决的......但这似乎不是一个选项,因为他们发布了用于 c++11 的新 mongocxx 驱动程序。这是我在 bsoncxx src 文件中找到的:

BSONCXX_API document::value BSONCXX_CALL from_json(stdx::string_view json);
/// Constructs a new document::value from the provided JSON text
///
/// @param 'json'
///  A string_view into a JSON document
///
/// @returns A document::value if conversion worked.
///
/// @throws bsoncxx::exception with error details if the conversion failed.
///

如何将我的 JSON 文件放入 stdx::string_view

谢谢!

A bsoncxx::stdx::string_view 可以从 std::string 构造。只需将文件内容(假设它包含单个 JSON 对象)加载到 std::string(可能通过 std::ifstream),然后将 std::string 传递给 bsoncxx::from_json。从 bsoncxx::from_json 返回的对象是一个 bsoncxx::document::value,它是一个包含 BSON 文档的资源拥有类型。