首页 > 解决方案 > Mongocursor 嵌套循环使用给出相同的变量

问题描述

所以这是我连接到 Mongo 的方式:

mongocxx::instance instance{};
mongocxx::client client{mongocxx::uri{}};

mongocxx::database db = client["BackUp"];
mongocxx::collection coll = db["DBN"];

mongocxx::cursor cursor = coll.find({});

std::cout << typeid(cursor).name() << std::endl;

嵌套的事情是,我试图遍历每个元素并将其与每个元素进行比较:

for(auto const& doc : cursor) {
    //std::cout << "TEST FIRST PROT" << bsoncxx::to_json(doc) << "\n";
    for (auto const& doc2 : cursor) {
        std::cout << "FIRST RES" << bsoncxx::to_json(doc) << "\n";
        std::cout << "SECOND RES" << bsoncxx::to_json(doc2) << "\n";

然而结果是:

FIRST RES abcde
SECOND RES abcde
FISRT RES hgjjk
SECOND RES hgjjk

我究竟做错了什么?

标签: c++mongodbnested-loopsmongo-cxx-driver

解决方案


推荐阅读