【发布时间】:2019-08-29 08:17:34
【问题描述】:
我正在更新一个基于 NodeJS 和 MongoDB 构建的寻宝游戏网站,但我遇到了记分板功能的问题。
我所有的环境变量在我的本地机器和实时站点上都是相同的,但是当它被部署时我得到了错误
"MongoError: 'cursor' 选项是必需的,除了带有解释参数的聚合"
下面是我正在使用的聚合
module.exports.getScores = (callback) => {
Team.aggregate([
{ $group: {
_id: "$code",
name: { $first: "$name"},
total: { $sum: "$score"}
}}
],
(err, results) => {
if (err) {
callback(err);
console.error(err);
} else {
callback(null, results);
}
}
);
}
我用谷歌搜索了这个问题,我发现的所有解决方案似乎都不起作用,这就是我发布的原因。
NodeJS 版本:8.10.0
MongoDB 版本:3.6.12
【问题讨论】:
-
这可能是由于 Mongoose 的版本和在每个环境中使用的 MongoDB 驱动程序之间的差异。你能用
npm ls检查每个版本吗? -
他们都是 ^4.8.6 他们使用相同的 package.json 并且在那里指定了 4.8.6
标签: node.js mongodb mongoose aggregate