gpt4 book ai didi

node.js - Node express Mongoose : writing API to search data by multiple optional params

转载 作者:搜寻专家 更新时间:2023-11-01 00:38:37 26 4
gpt4 key购买 nike

我有一个搜索输入框,用户应该能够通过员工 ID 或名字或姓氏进行搜索。员工 ID 也是一个字符串。我有一个名为 profile 的 mongo 模型,其中包含员工信息。

我正在使用 Node Express 和 Mongoose 。我想要一个路由器,它接收 id 或 firstname 或 lastname 作为请求参数,如下所示。

     this.router.get('/name/:name', this.getMidSearchResults);

private getMidSearchResults(req: Request, res: Response, next: NextFunction) {
var nameRegex = {"$regex": new RegExp('^' + req.params.name.toLowerCase(), 'i')};

Profile.find({ mid: nameRegex } || {firstName: nameRegex} || {lastName: nameRegex}, function(err, data) {
if (err) throw err;
res.send(data);
});
}

最佳答案

代替:

Profile.find({ mid: nameRegex } ||
{ firstName: nameRegex } ||
{ lastName: nameRegex }, function (err, data) {
// ...
});

使用:

Profile.find({$or: [
{ mid: nameRegex },
{ firstName: nameRegex },
{ lastName: nameRegex }
]}, function (err, data) {
// ...
});

关于node.js - Node express Mongoose : writing API to search data by multiple optional params,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42860492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com