MongoDB: запрашивать в базе данных фильмов одно и то же имя у авторов, актеров и режиссеров - этап $ match не работает - PullRequest
0 голосов
/ 17 января 2019

Для курса на MongoDB меня просят отфильтровать все фильмы, которые имеют для одного фильма одинаковые имена, появляющиеся в сценаристах, актерах и режиссерах одновременно. Обычно я пытаюсь найти перекрывающийся контент в одном наборе данных.

После долгих экспериментов я упростил задачу для себя. Сейчас я только пытаюсь получить одинаковые имена в режиссерах и актерах.

Я бы лучше всего смог придумать, что дает мне 0 результатов:

pipeline = [
            {"$project": {"_id":0, "directors": 1, "cast": 1, "title": 1,       "dirscount": { "$size": "$directors" } }},
            {"$unwind": "$directors"},
            {"$match": {"cast": {"$in": ["$directors"]}}},
            {"$limit": 20},
            {"$sort": {"title": 1}}
            ]
display(list(movies.aggregate(pipeline)))

Строка thta доставляет мне самые большие затруднения для понимания этой строки: {"$ match": {"cast": {"$ in": ["$ directors"]}}}

Если я поставлю реальное имя между скобками для операторов $, то это будет нормально.

Где проблема?

Спасибо.

...