Jam*_*pam 2 mongodb pymongo mongodb-query
在mongo中如果条件匹配,如何从列表中返回所有匹配dict元素.
这是我的数据:
{"packages": [
{"package_name" : "abc", "installed_date" : "2016-08-03"},
{"package_name" : "def", "installed_date" : "2016-08-04"},
{"package_name" : "ghi", "installed_date" : "2016-08-03"},
]
}
Run Code Online (Sandbox Code Playgroud)
我该如何查询以获取匹配的所有字典 {"installed_date" : "2016-08-03"}
我试过了:
db.resource.find({packages: {"$elemMatch": {installed_date: "2016-08-03"}}})
但这给了我所有的数组元素.我想得到匹配的dict元素{installed_date: "2016-08-03"}
谢谢
小智 5
尝试mongo聚合:
db.resource.aggregate([
{'$match':{'packages.installed_date':'2016-08-03'}},
{'$unwind':'$packages'},
{'$match':{'packages.installed_date':'2016-08-03'}},
{'$group':{'_id':'$_id', 'packages':{'$push':'$packages'}}}
])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |