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" } }
);
}