Using suggestions from here and here, I'm trying to implement a scalable, paginating, stateless REST API in the following way:
//Page 1
db.users.find().limit(pageSize);
//Find the id of the last document in this page
last_id = ...
//Page 2
users = db.users.find({'_id'> last_id}).limit(pageSize);
//Update the last id with the id of the last document in this page
last_id = ...
It works in most cases, but the problem is I have to sort a list of videos according to view count and then try to paginate.
// Page 2
videos = db.videos.find({'viewCount'< last_view_count}).sort({viewCount : 'descending'}).limit(pageSize);
This does not work since there might be multiple items with same view count and some items will miss out when we do 'viewCount'< last_view_count
Any ideas on how to solve this problem would be appreciated :)