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 }}]}}})
,但是它不起作用。我该如何运作?
答案 0 :(得分:2)
这是基本的Dot notation语法:
db.events.find({"details.detail_list.count": {"$gt": 0}})
答案 1 :(得分:0)
在上述情况下不需要$ in,请使用正确的遍历路径以获得所需的结果
db.events.find({"details.detail_list.count":{"$gt": 0}})