我在“/”页面上有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 })
});
});
提前致谢。
答案 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 })
});
});