mongo-cxx-driver - 遍历 mongocxx 查询以获取每个键和值

标签 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";

但我如何遍历结果以获取每个键及其值作为字符串?

最佳答案

请通读 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

关于mongo-cxx-driver - 遍历 mongocxx 查询以获取每个键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48062245/

相关文章:

C++ 序列化到 Mongodb

c++ - 如何将mongo shell命令转换为mongocxx语法

c++ - MongoC++驱动程序BSON的构建:基于流与基于字符串解析。哪一个性能更好?

c++ - 如何在启动 C++ 应用程序时检查 mongodb 是否正在运行

c++ - bsoncxx::to_json 返回损坏的字符串

c++ - 将 MongoDB C++ 驱动程序升级到 mongocxx-3.1.2

c++ - 启用分片 mongocxx

c++ - 如何在 C++ 中使用 MongoDB 地理空间索引

c++ - Mongocxx 无法使用 SSL 连接到 mongoDB