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

问题描述 投票:0回答:2

我正在尝试对我的电影数据库进行查询,该数据库包含一组作为字符串的流派。格式为genres = "Drama,Action,War。我想要做的是对该字符串进行查询,以检查流派字符串是否包含数组中的元素之一。

[如果我有一部电影的流派字段为"Drama, Action",一部电影的流派字段为"Drama, Comedy",而我使用数组["Action","Comedy"]进行搜索,则我希望同时返回这两部电影。如果这不可能,那么体裁字段也可以是数组吗?

javascript arrays string mongodb mongoose
2个回答
0
投票

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


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

0
投票

here所示,您应使用Regex

类似的东西:

const res = await Movies.find({ genres: /GenreToSearch/ });

© www.soinside.com 2019 - 2024. All rights reserved.