mongoose,如何查询集合下面的集合,进行分页,如图
想要查询article下面的comment进行分页
模型如下 具体数据 现在的article分页
// 查找所有文章
router.get('/admin_article', function(req, res, next){
var page = Number(req.query.page || 1);
var limit = 4;
var pages = 0;
Model.Article.count().then(function(count){
pages = Math.ceil(count/limit); //总数据除以每页限制数据=页数
page = Math.min(page,pages);
page = Math.max(page,1);
var skip = (page-1)*limit;
Model.Article.find({}).sort({_id: -1}).limit(limit).skip(skip).then(function(doc){
console.log(doc);
responseData.code = 200;
responseData.message = '查找所有文章成功';
responseData.data = doc;
responseData.count = count;
responseData.limit = limit;
responseData.page = page;
responseData.pages = pages;
responseData.skip = skip;
console.log(responseData);
res.json(responseData);
})
})
})
问题, 如何给article,集合下面的,comment进行分页,就像查询article分页一样
4 回复
!!!∑(゚Д゚ノ)ノ为什么不另起一张表存 comment的数据呢,个人觉得这样方便很多啊
数组切片 slice ?
db.posts.find( {}, { comments: { $slice: [ 20, 10 ] } } )
第一个值表示要跳过的数组中的项目数,第二个值表示要返回的项目数
下面说两个方法,都要用到populate: 另建一个comment集合,article集合里只存comment的ID,如:[1,2,3];另建两个集合,一个comment,一个relation集合。另外提醒一下,你这里应该写成Date.now,否则取到的时间是你服务器最近一次启动的时间。
@qujinxiong thanks