我的问题是,如果不对模型或控制器进行调整,就无法对应用程序进行分页。要分页,我需要执行与Mongoose集合相关的sort-skip-limit操作。 User.findById()
函数仅返回一个值,因此无法在其后链接这些操作。我需要整体执行操作,该怎么办?
我尝试在将每个用户都推入其中的新数组上执行操作,但是猫鼬操作对该数组不起作用。
Camp.findById(req.params.campId, async (err, camp) => {
if(err) return res.redirect('/admin/camps');
const resPerPage = 3;
const page = req.query.page || 1;
const usersList = camp.usersList;
let users = [];
for(var userId of usersList) {
const user = await User.findById(userId);
//I want to perform .sort({follower: -1}).skip(resPerPage*(page-1)).limit(resPerPage)
if(!user) return res.redirect('/admin/camps');
users.push(user);
};
预期输出:所有用户按关注者数量排序
实际输出:不论关注者数量如何,所有用户