2017-03-17 1 views
1

私は1つの検索入力ボックスを持っています。ユーザーは従業員IDか名字か姓で検索できるはずです。社員IDも文字列です。私は従業員の情報を持っているプロファイルと呼ばれるmongoモデルを持っています。Node Express Mongoose:複数のオプションのパラメータでデータを検索するためのAPIを書く

私はノードExpressとmongooseを使用しています。私は以下のように、idまたはfirstnameまたはlastnameをrequest paramとして受け取るルータを持っていたいと思います。

 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); 
    }); 
    } 

答えて

1

の代わりに:

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

使用:勤務

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

!!どうもありがとうございます – ronypatil

関連する問題