使用 MongoDB C++ 驱动程序在 BSON 文档中找到 fin

fin in BSON documents with MongoDB C++ driver

我的 MongoDB 测试数据库中有以下文档:

    db.a.find()
   {[ {
        "_id" : ObjectId("5113d680732fb764c44qweq"),
        "Builds" : [
                {
                    "level" : 1,
                    "rank" : 2
                },
                {
                    "level" : 3,
                    "rank" : 4
                }
              ]
}, {
 "_id" : ObjectId("5113d680732fb764c4464fdf"),
        "Builds" : [
                {
                    "level" : 3,
                    "rank" : 5
                },
                {
                    "level" : 3,
                    "rank" : 4
                }
              ]
    }
]}

我需要找到 => 1 且 <= 2 的级别 你能帮帮我吗? 可以用 mongocxx 做吗?

mongocxx::cursor cursor = collection.find(
  document{} << "Builds.level" << open_document <<
    "$gte" << 1 <<
    "$lte" << 2
  << close_document << finalize);

for(auto doc : cursor) {
  std::cout << bsoncxx::to_json(doc) << "\n";
}

将获取的 mongo 原始查询如下:

db.a.find({"Builds.level":{$gte:1}, "Builds.level":{$lte:2}})

假设您要查找大于 1 小于 2 的数据,那么您将使用 mongodb 然后它看起来如下所示:

db.getCollection('a').find({$and: [{'Builds.level': {$gte: 1}},{'Builds.level': {$lte: 2}}]})