I would like to query multiple fields using the same regular expression for both. In this query, I would like to accept a single text input and check both the firstName and lastName fields for results. I can query a single field just fine using the regex function in the mongoose documentation, but the syntax for an 'or' clause is giving me trouble.
我想使用相同的正则表达式来查询多个字段。在这个查询中,我希望接受一个文本输入,并检查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));
});
(I'm running mongoose 2.7.1 on node.js 0.6.12)
(我在node上运行mongoose 2.7.1。js 0.6.12)
1 个解决方案
#1
11
The code above works fine for a query on multiple fields. Turns out I had some bad data.
上面的代码适用于多个字段的查询。原来我有一些坏数据。
#1
11
The code above works fine for a query on multiple fields. Turns out I had some bad data.
上面的代码适用于多个字段的查询。原来我有一些坏数据。