将JSON插入Mongocxx

时间:2016-10-20 21:37:13

标签: c++ json mongodb bson mongo-cxx-driver

我目前正在尝试将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

谢谢!

1 个答案:

答案 0 :(得分:4)

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