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

时间:2012-07-30 16:33:53

标签: regex node.js mongodb express mongoose

我想使用相同的正则表达式查询多个字段。在此查询中,我想接受单个文本输入,并检查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));
});

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

1 个答案:

答案 0 :(得分:13)

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