Node.js 在mongoose中使用多个聚合运算符
我有一个mongoose查询,它使用$or聚合器查看在婴儿车中传递的名称是否与名字或姓氏匹配 该查询区分大小写,我想使用$toLower聚合器使其成为不区分大小写的查询 但我似乎不知道如何包括$toLower操作符 这是我的密码:Node.js 在mongoose中使用多个聚合运算符,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有一个mongoose查询,它使用$or聚合器查看在婴儿车中传递的名称是否与名字或姓氏匹配 该查询区分大小写,我想使用$toLower聚合器使其成为不区分大小写的查询 但我似乎不知道如何包括$toLower操作符 这是我的密码: export let findByFirstOrLastName = (req: Request, res: Response) => { User.find({$or: [ {firstName: req.params.name},
export let findByFirstOrLastName = (req: Request, res: Response) => {
User.find({$or: [
{firstName: req.params.name},
{lastName: req.params.name}
]}).exec((err, user) => {
if(err) {
res.send(err);
} else {
res.send(user);
}
})
}
我在$or之前试过,在每个字段上也试过
任何帮助都将不胜感激。您只需先用$toLower和$match来投影数据: 你可以看到 尽管如此,如果要重新匹配字符串,您可能应该查看搜索。因为他们通常是手拉手的。你目前的做法与约翰·约翰等人的做法不符
db.collection.aggregate([
{
$project: {
_id: 0,
firstName: { $toLower: "$firstName" },
lastName: { $toLower: "$lastName" }
}
},
{
$match: {
$or: [
{ firstName: req.params.name },
{ lastName: req.params.name }
]
}
}
])