【发布时间】:2016-10-17 21:48:34
【问题描述】:
在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"},
]
}
我应该如何查询以获取与{"installed_date" : "2016-08-03"}匹配的所有字典
我试过了:
db.resource.find({packages: {"$elemMatch": {installed_date: "2016-08-03"}}})
但这给了我所有的数组元素。我想获取匹配{installed_date: "2016-08-03"}
谢谢
【问题讨论】:
-
当你添加一个空白对象作为第一个参数时会发生什么:db.resource.find({}, {packages: {"$elemMatch": {installed_date: "2016-08-03"} }})
-
看起来不工作,它返回所有其他没有那个日期的包。
标签: mongodb mongodb-query pymongo