在我的users
集合中,我正在查询18岁以上的用户,限制为32。
我正在制作一个分页功能。第1页应该返回18岁以上的前32位(按last_visit
排序),第2页将返回18位以上的第二位32位用户,依此类推。
我目前的代码如下:
db.bind('users').bind({
search: function (query, fieldsLimit, page, callback) {
var skip = page ? page * 32 : 0;
this.find(query, fieldsLimit).skip(skip).limit(32).sort({ last_visit: -1 }).toArray(function (err, users) {
callback(err, users);
});
}
});
要解决的问题:这里的跳过实际上只会跳过任何类型的用户,所以即使我在第2页,它仍会在第1页上查询许多相同的用户。