MongoDB:在作者,演员和导演中查询电影数据库中的相同名称-$ match阶段不起作用

时间:2019-01-17 14:10:06

标签: arrays mongodb mongodb-query aggregation-framework

对于MongoDB上的课程,我被要求过滤所有在一部电影中同时出现在作家,演员和导演中的同名电影。 基本上,我尝试在一个数据集中找到重叠的内容。

经过大量实验后,我为我简化了问题。现在,我只尝试在Directors和Cast字段中使用相同的名称。

我最好能给出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)))

这行给我带来了最大的麻烦,难以理解这行:{“ $ match”:{“ cast”:{“ $ in”:[“ $ director”]}}}

如果我在$ in运算符之间放置一个实名,则可以正常使用。

问题出在哪里?

谢谢。

0 个答案:

没有答案