我正在尝试对我的电影数据库进行查询,该数据库包含一组作为字符串的流派。格式为genres = "Drama,Action,War
。我想要做的是对该字符串进行查询,以检查流派字符串是否包含数组中的元素之一。
[如果我有一部电影的流派字段为"Drama, Action"
,一部电影的流派字段为"Drama, Comedy"
,而我使用数组["Action","Comedy"]
进行搜索,则我希望同时返回这两部电影。如果这不可能,那么体裁字段也可以是数组吗?
猫鼬允许您在查询中使用正则表达式,因此您可以尝试如下操作:
const getMovies = async (genreArray) => {
const arrayToRegex = genreArray.join('|')
const results = await Movies.find(
{ "genres": { "$regex": arrayToRegex, "$options": "i" } }
);
}