mongodb - 如何在 MongoDB 中使用深度查询获取 `find()` 数据?

标签 mongodb mongodb-query

MongoDB中的数据是这样的:

第一条记录:

{
    "_id" : ObjectId("5b309244e138235684843b5d"),
    "branch_id": 3,
    "group": 2,
    "rule_id": 60001,
    "details": {
        "detail_list": [
            {
                "count": 36072
            },
            {
                "count": 12035
            }
        ]
    }
}

第二条记录:

{
    "_id" : ObjectId("5b309244e134567684843b5d"),
    "branch_id": 9,
    "group": 9,
    "rule_id": 60001,
    "details": {
        "detail_list": [
            {
                "count": 0
            }
        ]
    }
}

我需要获取count > 0的记录,也就是说我要获取第一条记录,过滤掉第二条记录。我该如何实现?

我试过 db.events.find({'details':{'detail_list':{'$in':[{'count':{ '$gt': 0 }}]}}} ),但它不起作用。我怎样才能让它发挥作用?

最佳答案

基本Dot notation语法:

db.events.find({"details.detail_list.count": {"$gt": 0}})

关于mongodb - 如何在 MongoDB 中使用深度查询获取 `find()` 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51019933/

相关文章:

php - 过滤数组和过滤数组mongodb的$sum up字段

javascript - 如何在 Node.js 中打印从 mongoDB 数据库检索的数据?

android - 通过 REST API 处理集合关系的最佳实践是什么?

javascript - node.js 无法从 mongoexport 读取 json

java - 将 Spring Data 随机(嵌入式)Mongo 端口与 NoSQL JUnit @Rule 一起使用

mongodb - 如何在 mongoDB 中使用 findOne 获取此查询形式的嵌套数组

mongodb - 获取mongodb中两个字段的最大差异

javascript - 我如何检查它是否是 12 字节的字符串对象,mongodb 中的 ObjectID?

mongodb - 在 MongoDb 中获取不同级别的数组字段

MongoDB:插入重复键更新