首页 > 解决方案 > 'cursor' 选项是来自每个聚合的必需错误

问题描述

我从特定 nodeJS 应用程序的每个 mongoose 聚合中收到 The 'cursor' option is required 错误。但是在同一个系统中,其他具有猫鼬聚合的应用程序工作正常。解决方法是什么?顺便说一句,相同的应用程序在其他系统中运行良好

代码

function getTestParams(testconductedid, mark) {
return new Promise(function (resolve, reject) {
    Mark.aggregate([
        {
            $match: {
                testconductedid: testconductedid,
            }
        },
        {
            $group: {
                _id: '$testconductedid',
                max: { $max: '$total' },
                avg: { $avg: '$total' },
                rank: { $sum: { '$cond': [{ '$lt': [mark, "$total"] }, 1, 0] } },
            }
        }
    ], function (err, results) {
        console.log(JSON.stringify(results));
        resolve(results);
    })
});

}

错误

代码:9
codeName:"FailedToParse"
errmsg:"'cursor' 选项是必需的,除了带有解释参数的聚合"
消息:“'cursor' 选项是必需的,除了带有解释参数的聚合”
名称:“MongoError”
好的:0
stack:"MongoError: 'cursor' 选项是必需的,但在 Function.MongoError.create (d:\Ignus\ignuslearn\ignuslearnnode\node_modules\mongoose\node_modules\mongodb-core\lib\ error.js:31:11)\n 在 commandCallback (d:\Ignus\ignuslearn\ignuslearnnode\node_modules\mongoose\node_modules\mongodb-core\lib\topologies\server.js:1187:66)\n 在 Callbacks.emit (d:\Ignus\ignuslearn\ignuslearnnode\node_modules\mongoose\node_modules\mongodb-core\lib\topologies\server.js:119:3)\n 在 Connection.messageHandler (d:\Ignus\ignuslearn\ignuslearnnode\node_modules\ mongoose\node_modules\mongodb-core\lib\topologies\server.js:358:23)\n 在 Socket. (d:\Ignus\ignuslearn\ignuslearnnode\node_modules\mongoose\node_modules\mongodb-core\lib\connection\connection .js:292:22)\n 在 emitOne (events.js:116:13)\n 在 Socket.emit (events.js:211:7)\n 在 addChunk (_stream_readable.js:263:12)\n 在 readableAddChunk (_stream_readable.js:250:11)\n 在 Socket.Readable。推(_stream_readable.js...

标签: javascriptnode.jsmongodbmongoose

解决方案


推荐阅读