Is there a way to do select query and count_all query via single method? For pagination purposes we need to know total number of items so we can calculate and show number of pages.
Find and count all in Sails.js + Waterline
4.7k views Asked by Kristian Ačkar At
4
There are 4 answers
1
On
Check out Sails.Js - How I do pagination in sails.Js for pagination in Waterline.
To get the total number of items, you can use:
Post.count().exec(function (err, nbOfInstances) {
if(err) return res.negociate(err);
return res.ok(nbOfInstances);
});
0
On
I also couldn't find any built-in method to do that in one request so I do it like this:
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));
OUTPUT:
/*
{
posts_count: 0,
posts: []
}
*/