javascript - 将 RegExp 与多个条件一起使用

标签 javascript regex mongodb mongoose

我有这个代码:

Playlist.aggregate([
    $match: {
        $or: [{genre: new RegExp(["Pop", "Indie"], 'i')}]
    }
]).exec(function(err, playlists){
    console.log(playlists);
});

问题是它返回一个空数组,但是当我删除 RegExp(Pop/Indie) 中的条件之一时,它会正确返回。

我在正则表达式中做错了什么?我该如何解决这个问题?

最佳答案

尝试在单一模式中使用交替:

Playlist.aggregate([
    $match: {
        $or: [{genre: new RegExp("Pop|Indie", 'i')}]
    }
]).exec(function(err, playlists){
    console.log(playlists);
});

但是,如果您希望模式保持不变,则可能需要使用正则表达式,而不是使用 RegExp

关于javascript - 将 RegExp 与多个条件一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51757758/

相关文章:

javascript - Jquery 未捕获类型错误 : Cannot read property 'replace' of undefined

c# - 如何匹配包含多个字符的单词?

regex - 如何删除特定字符前后的文本?

node.js - Mongoose 更新数据信息,如何防止覆盖

javascript - 无法将新寄存器发送到我的数据库 mongodb

javascript - 使用 Javascript 更改字幕内容

javascript - CSS 局部颜色百分比值

javascript - 无法使用 Mongoose 保存 JavaScript 对象

javascript - 根据值查找数组中最近的元素,但当值超过 JavaScript 中最近的元素时则不查找

Python - 检查字母是否出现在连续的单词中