首页 > 解决方案 > 无法在 Mongoose 中使用 async/await 将游标方法应用于变量中的投影 ID 数组

问题描述

我有以下代码可以正常工作:

            try {
                const retrievedCursor = await JobListing.find(object, { projection: { _id: 1 } }).sort({ _id: -1 }).skip(skipSize).limit(1)
                -- More lines of code until I get the actual results...--
                res.status(200).json({ message: 'Published jobs: ', results})
            } catch (error) {
                res.status(400).json({ message: 'Failed GET'})
            }

但是,我想在变量中获取JobListing.find(object, { projection: { _id: 1 } })(这是一个数组)的长度,然后应用 sort()、skip() 和 limit() 方法到那个变量。因此,我正在做:

            try {
                const initialResult = await JobListing.find(object, { projection: { _id: 1 } })
                const secondaryResult = await initialResult.sort({ _id: -1 }).skip(skipSize).limit(1)
                -- More lines of code until I get the actual results...--
                res.status(200).json({ message: 'Published jobs: ', results})
            } catch (error) {
                res.status(400).json({ message: 'Failed GET'})
            }

结果,initialResult是一个文档数组,而secondaryResult根本没有提供任何东西。我究竟做错了什么?不用说,整个代码都在一个异步函数中。

我的兴趣是获取带有投影 ID 的数组的长度,以显示在我的前端找到的文档总数。

标签: reactjsmongodbmongoosedesign-patternspagination

解决方案


推荐阅读