我有此代码:
Playlist.aggregate([
$match: {
$or: [{genre: new RegExp(["Pop", "Indie"], 'i')}]
}
]).exec(function(err, playlists){
console.log(playlists);
});
问题在于它返回一个空数组,但是当我删除RegExp
(Pop / Indie)中的条件之一时,它会正确返回。
我在RegExp中做错了什么?我该如何解决?
答案 0 :(得分:2)
尝试在单个模式中使用交替:
Playlist.aggregate([
$match: {
$or: [{genre: new RegExp("Pop|Indie", 'i')}]
}
]).exec(function(err, playlists){
console.log(playlists);
});
但是,如果您希望模式保持不变,则可能不希望使用RegExp
,而是要使用正则表达式文字。