Для курса на 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"]}}}
Если я поставлю реальное имя между скобками для операторов $, то это будет нормально.
Где проблема?
Спасибо.