我想使用两个相同的正则表达式查询多个字段。在此查询中,我想接受单个文本输入并检查firstName和lastName字段的结果。我可以使用猫鼬文档中的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上运行猫鼬2.7.1)
上面的代码对于在多个字段上的查询都适用。原来我有一些不良数据。