NodeJS如何通过输入特定值来获取数据

时间:2015-05-04 12:33:59

标签: javascript node.js

我有一个应用程序,我希望通过信件列出一群艺术家。例如,如果我输入字母" L" - 应用程序应该从我的数据库中返回所有艺术家的字母" L"。我对NodeJS很陌生,所以也许有人可以帮助我?

我的routes.js:

server.get('/i/artists/:letter', myartists.getArtistByLetter);

和我的artists.js:

exports.getArtistByLetter = function(req, res, next){

   var where;

   if(req.query == '0-9') // not sure about req.query, probably wrong???
   {
      where = ["formated_name RLIKE '^[0-9#]' AND artist_parent_id = 0 "];
   }
   else  
   {
      where = ["formated_name LIKE '"+req.query+"%' AND artist_parent_id = 0"];
   }    

   db.artist.findAll({ 
      where: where, 
      attributes: ['artist_id', ['formated_name', 'name'], 'uuid', 'slug']
    }, {raw: true})
    .success(function(artist){
       res.json({data: artist});
   });  

}

输入http://localhost:2100/i/artists/l后,返回{"data":[]} ...

那么,有什么建议吗?感谢...

1 个答案:

答案 0 :(得分:1)

要访问letter参数,您必须写req.params.letter而不是req.query

看一下how to hande a get request with nodejs的答案。

在此网址上:http://localhost:2100/i/artists/l req.params.letter的值为l