Node.js和Mongoose正则表达式查询多个字段

Rev*_*oah 39 regex mongoose mongodb node.js express

我想使用相同的正则表达式查询多个字段.在此查询中,我想接受单个文本输入,并检查firstName和lastName字段的结果.我可以使用mongoose文档中的regex函数来查询单个字段,但是'or'子句的语法给我带来了麻烦.

var re = new RegExp(req.params.search, 'i');

app.User.find().or([{ 'firstName': { $regex: re }}, { 'lastName': { $regex: re }}]).sort('title', 1).exec(function(err, users) {
    res.json(JSON.stringify(users));
});
Run Code Online (Sandbox Code Playgroud)

(我在node.js 0.6.12上运行mongoose 2.7.1)

Rev*_*oah 14

上面的代码适用于多个字段的查询.事实证明我有一些不好的数据.