迭代mongocxx查询以获取每个键和值

时间:2018-01-02 13:52:59

标签: mongo-cxx-driver

我使用以下代码查询集合:

bsoncxx::stdx::optional<bsoncxx::document::value> query_result =
collection.find_one(bsoncxx::builder::stream::document{} << "_tablename" << tableToSearch.toUtf8().constData() << "rowuuid" << UUIDToSearch.toUtf8().constData() << bsoncxx::builder::stream::finalize);
if(query_result)
{

}

我可以从文档中看到如何打印结果:

std::cout << bsoncxx::to_json(*maybe_result) << "\n";

但是如何通过结果迭代将每个键及其值作为字符串?

1 个答案:

答案 0 :(得分:0)

请仔细阅读mongocxx和bsoncxx示例。您可以在此处找到演示光标迭代的示例:

https://github.com/mongodb/mongo-cxx-driver/blob/fc9a44325e03bb8bb166e814caeb23413b4ba7af/examples/mongocxx/query.cpp#L43-L46

但是,在您的示例中,您正在进行查找,因此我想您要迭代每个字段,而不是每个文档。在这种情况下,您可以在此处查看步行BSON对象的示例:

https://github.com/mongodb/mongo-cxx-driver/blob/fc9a44325e03bb8bb166e814caeb23413b4ba7af/examples/bsoncxx/view_and_value.cpp#L61-L62