我想使用相同的正则表达式查询多个字段。在此查询中,我想接受单个文本输入,并检查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)
答案 0 :(得分:13)
上面的代码适用于多个字段的查询。事实证明我有一些不好的数据。