【发布时间】:2014-03-19 22:15:00
【问题描述】:
我目前有一个包含大约 4,000 个文档的集合。我希望能够对结果进行分页,这样用户一次只能查看 100 个。
我非常了解提交搜索时服务器端要做什么:
app.post('/browse/:page', function(req, res) {
var page = parseInt(req.params.page);
data = {};
data.page = page;
data.nextpage = page + 1;
data.prevpage = page - 1;
var filterOptions = _.transform(req.body, function(result, value, key) {
result[key] = new RegExp(value.replace(/[^A-Za-z 0-9!'-]/g,''), "i");
});
Model.find(filterOptions).sort('brand').skip((page-1)*100).limit(100).exec(function(err, results) {
//do stuff here with results
res.render('browse.ejs', data);
})
})
});
现在,在我的视图页面上,这就是我所拥有的,并且我认为我正在做一些非常错误的事情:
//header here
<div class="wrapper row2">
<div id="container" class="clear">
<section>
<div id="browse-wrap">
<div id="browse-left_col">
<h3>Browse by:</h3><br>
<form action="browse/1" method="post">
//form inputs and such here
<input type="submit" class="button" value="Browse">
</form>
</div>
<div id="browse-right_col">
//table of results here
<p style="text-align:right;"><a href="#" onclick="document.forms[0].attr('action', 'browse/<%=nextpage%>').submit();return false;">Next 100 →</a></p>
</div>
</div>
</section>
</div>
</div>
//footer here
感谢您的帮助!我真的很陌生,很感激。
【问题讨论】:
标签: forms express pagination mongoose