无法对我的集合执行一些异步猫鼬查询操作

时间:2019-08-31 20:52:17

标签: mongodb asynchronous mongoose

我的问题是,如果不对模型或控制器进行调整,就无法对应用程序进行分页。要分页,我需要执行与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);
        };

预期输出:所有用户按关注者数量排序

实际输出:不论关注者数量如何,所有用户

0 个答案:

没有答案