有没有办法通过单一方法进行select query和count_all查询? 出于分页目的,我们需要知道项目总数,以便我们计算并显示页数。
答案 0 :(得分:2)
getLength: function(req, res) {
Posts.find({}).exec(function(err, items){
return items.length;
});
}
答案 1 :(得分:2)
在水线中查看Sails.Js - How I do pagination in sails.Js分页。
要获得项目总数,您可以使用:
Post.count().exec(function (err, nbOfInstances) {
if(err) return res.negociate(err);
return res.ok(nbOfInstances);
});
答案 2 :(得分:1)
首先查询并获取数据,然后删除限制,跳过参数并获取计数
delete query._criteria.limit;
delete query._criteria.skip;
Model.count(query._criteria).exec(function countCB(error, count) {
});
答案 3 :(得分:1)
我也无法在一个请求中找到任何内置方法,所以我这样做:
let queryParams = {},
pageNo = 1,
perPage = 10;
Post.count(queryParams)
.then(_count=>{
return {posts_count: _count,
posts: Post.find(queryParams).paginate({page: pageNo, limit: perPage})};
})
.then(res.ok)
.catch(err=>res.negotiate(err.message));
<强>输出:强>
/*
{
posts_count: 0,
posts: []
}
*/