关于nodejs应用程序中的路由

时间:2015-02-20 11:41:25

标签: javascript node.js mongoose

我在“/”页面上有100个博客,还有Sortby日期的链接:a-z当我点击时 这些链接我转移到不同的路线一个是“/ sort_by_date”,另一个是“/sort_alphabetically”。我希望这个排序出现在“/”。我无法在“/”页面上这样做,这是我有的我希望这个排序出现在“/”页面上,点击不同的链接应该出现不同的排序。这整个应用程序是用nodejs Mongoose express编写的。

博客的主页

 router.get('/', function (req, res) {
 var q= blog.find({}).limit(100);
 q.exec(function(err,docs)
 {
res.render('blog',{"no_of_blogs":docs
                      ,"in_ca":true })          
 });        
 });

按日期排序的页面

  router.get('/sort_by_date', function (req, res) {
  blog.find({},{sort:{date:-1}},function (err, docs) {

    res.render('index_date_blog',{"no_of_blogs":docs
                      ,"in_ca":true })                        
   });      
 });

这是按字母顺序排序的页面

     router.get('/sort_alphabetically', function (req, res) {
          blog.find({},{sort:{title}},function (err, docs) {

            res.render('index_date_blog',{"no_of_blogs":docs
                      ,"in_ca":true })                        
            });     
            });

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用查询字符串传递sort变量。 建立链接以将排序链接更改为?sort=title?sort=date

注意,下面的代码未经过测试,但应该可以帮助您:

 router.get('/', function (req, res) {

 var sortQuery = req.query.sort;
 var sort = {};

 if(sortQuery=='date')
  sort={date:-1}

 if(sortQuery=='title')
  sort={title: 1}

 var q= blog.find({}).limit(100).sort(sort);

 q.exec(function(err,docs)
 {
   res.render('blog',{"no_of_blogs":docs ,"in_ca":true })          
   });        
 });