В mongo как вернуть весь элемент match match из списка, если условие соответствует.Mongo query with projection
вот мои данные:
{"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"}}})
Но это дает мне все элемент массива. Я хотел бы получить Dict элемент, который соответствовал {installed_date: "2016-08-03"}
Благодарности
Что происходит, когда вы добавляете пустой объект в качестве первого аргумента: db.resource.find ({}, {packages: {"$ elemMatch": {installed_date: "2016-08-03"}}}) – Brian
Doesn 't выглядит как работающий, Он возвращает все остальные пакеты, которые не имеют этой даты. –