Javascript 如何检查字符串是否与Mongoose数组的元素匹配

Javascript 如何检查字符串是否与Mongoose数组的元素匹配,javascript,arrays,string,mongodb,mongoose,Javascript,Arrays,String,Mongodb,Mongoose,我正在尝试对我的电影数据库进行查询,该数据库包含一组类型作为字符串。格式为genres=“戏剧、动作、战争”。我要做的是对该字符串进行查询,检查该类型字符串是否包含数组中的一个元素 如果我有一部电影的类型字段是“戏剧,动作”,还有一部电影的类型字段是“戏剧,喜剧”,我用数组[“动作”,“喜剧”]我希望两部电影都能返回。如果这不可能,如果类型字段也是数组,是否可能?Mongoose允许您在查询中使用正则表达式,因此您可以尝试以下操作: const getMovies = async (genreA

我正在尝试对我的电影数据库进行查询,该数据库包含一组类型作为字符串。格式为
genres=“戏剧、动作、战争”
。我要做的是对该字符串进行查询,检查该类型字符串是否包含数组中的一个元素


如果我有一部电影的类型字段是“戏剧,动作”,还有一部电影的类型字段是“戏剧,喜剧”,我用数组
[“动作”,“喜剧”]
我希望两部电影都能返回。如果这不可能,如果类型字段也是数组,是否可能?

Mongoose允许您在查询中使用正则表达式,因此您可以尝试以下操作:

const getMovies = async (genreArray) => {
    const arrayToRegex = genreArray.join('|')
    const results = await Movies.find(
        { "genres": { "$regex": arrayToRegex, "$options": "i" } } 
    );
}