###model 处理分页代码
Mcontact.getTen = function(mcname,page,callback) {
var query = {};
if (mcname) {
query.mcname = mcname;
}
//使用 count 返回特定查询的文档数 total
mcontactModel.count(query, function (err, total) {
//根据 query 对象查询,并跳过前 (page-1)*10 个结果,返回之后的 10 个结果
//sort({create_at: -1}).
mcontactModel.find(query).skip((page - 1)*10).limit(10).exec(function (err, docs) {
if (err) {
return callback(err);
}
docs.forEach(function(doc) {
// item 对应每条记录
doc.create_at = moment(doc.create_at).format('YYYY MM DD');
doc.update_at = moment(doc.update_at).format('YYYY/MM/DD');
})
console.log('docs:'+docs);
callback(null, docs, total);
});
});
};
###控制层调用代码
router.get('/', function(req, res) {
//判断是否是第一页,并把请求的页数转换成 number 类型
var page = req.query.p ? parseInt(req.query.p) : 1;
//查询并返回第 page 页的 10 篇文章
Mcontact.getTen(null, page, function (err, mcontacts, total) {
if (err) {
mcontacts = [];
}
res.render('mcontact', {
mcontacts: mcontacts,
page: page,
isFirstPage: (page - 1) == 0,
isLastPage: ((page - 1) * 10 + mcontacts.length) == total,
user: req.session.user,
success: req.flash('success').toString(),
error: req.flash('error').toString()
});
});
});
###EJS 显示
<% mcontacts.forEach(function (mcontact, index) { %>
<tr class="">
<td class="inbox-small-cells">
<input type="checkbox" class="mail-checkbox">
</td>
<td class="view-message "><%=mcontact.mcname%><span class="label label-danger pull-right"><%=mcontact.tag%></span></td>
<td class="view-message "><%=mcontact.mcemail%></td>
<td class="view-message "><%=mcontact.mcpassword%></td>
<td class="view-message dont-show"><%=mcontact.create_at%></td>
<td class="view-message dont-show"><%=mcontact.update_at%></td>
</tr>
<% }) %>
###最终结果
网页啊 abbc[@sina](/user/sina).com 123123 Tue Jul 08 2014 00:00:00 GMT+0800 (中国标准时间) Tue Jul 08 2014 00:00:00 GMT+0800 (中国标准时间)
行吗 xingma[@qq](/user/qq).com qweqweqwe Tue Jul 08 2014 00:00:00 GMT+0800 (中国标准时间) Tue Jul 08 2014 00:00:00 GMT+0800 (中国标准时间)
行啊 ok[@ok](/user/ok).com qweqweqwe Tue Jul 08 2014 00:00:00 GMT+0800 (中国标准时间) Tue Jul 08 2014 00:00:00 GMT+0800 (中国标准时间)
好了吗 ho[@hotmail](/user/hotmail).com qweqweqwe Tue Jul 08 2014 00:00:00 GMT+0800 (中国标准时间) Tue Jul 08 2014 00:00:00 GMT+0800 (中国标准时间)
##为什么格式化没有效果啊。我叉,到底是哪里出了问题?求大神指点啊 解决方法:
docs.forEach(function(doc) {
// item 对应每条记录
doc.create_at_string = moment(doc.create_at).format('YYYY-MM-DD');
doc.update_at_string = moment(doc.update_at).format('YYYY-MM-DD');
// doc.update_at = moment(doc.update_at).format('YYYY-MM-DD');
/***原理无论你怎么格式化,doc.update_at这个逗比都是日期格式,
所以你怎么变它都会给你整成ISO-1的日期,经过3楼的大神一说,仔细一想确实啊。
昨晚被这个折磨了接近4个小时。资料少的可怜。
***/
})
EJS引用 <%=mcontact.create_at_string%>