Рассмотрим это:Извлечение значения из массива объектов JSON в MongoDB
{
"movies": [
{
"title": "Star Wars",
"year": 1977,
"director": "George Lucas"
},
{
"title": "The Empire Strikes Back",
"year": 1980,
"director": "Irvin Kershner"
},
{
"title": "Return of the Jedi",
"year": 1983,
"director": "Richard Marquand"
},
{
"title": "The Phantom Menace",
"year": 1999,
"director": "George Lucas"
},
{
"title": "Attack of the Clones",
"year": 2002,
"director": "George Lucas"
},
{
"title": "Revenge of the Sith",
"year": 2005,
"director": "George Lucas"
},
{
"title": "The Force Awakens",
"year": 2015,
"director": "J.J. Abrams"
}
]
}
Я пытаюсь вытащить все фильмы режиссера Geroge Лукаса. Это то, что я пытался и возвращает все элементы:
db.movies.find({"movies.director" : "George Lucas"}).pretty()
, а также это, что приводит к ошибке:
db.movies.find({"$pull" : {"movies.director" : "George Lucas"}}).pretty()
Пожалуйста, дайте мне знать, как обращаться к базе данных для извлечения только фильмов, где Ключ директора имеет «Джордж Лукас» как ценность.
Используйте [$ фильтр] (https://docs.mongodb.com/manual/reference/operator/aggregation/filter/) – Veeram
Как вы можете это сделать ? – JohnSnow
Вам нужно использовать функцию суммирования $ unwind – akinjide