0

我的 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吗?

4

2 回答 2

1

想想你正在寻找大于 1 且小于 2 的数据,那么你将使用 mongodb,它看起来如下所示:

db.getCollection('a').find({$and: [{'Builds.level': {$gte: 1}},{'Builds.level': {$lte: 2}}]})
于 2016-12-06T12:42:56.900 回答
1
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}})
于 2016-12-06T12:30:05.897 回答