我正在使用 mongoose 在模型上调用聚合命令。
User.aggregate({
$match: {
timezone: {
$in: timezones
}
}
}, {
$group: {
_id: '$timezone',
"count": {
$sum: 1
}
}
})
.exec(function (err, data) {
if (err != null) {
console.log("Error: " + err);
return;
}
// do stuff with data
});
但是mongo总是报错
Use of the aggregate command without the 'cursor' option is deprecated.
最佳答案
我遇到过类似的问题,经过大量研究后我发现这是由于旧版本的 Mongoose 造成的,因为早期版本与 MongoDB 3.6 及更高版本中的重大更改不兼容。
我一个一个地升级了 mongoose 版本,我发现它与 mongoose 版本 4.12.2
或更高版本 (mongoose@4.12.2)
一起工作得很好。
您可以通过运行以下命令升级您的 mongoose 版本:
npm install mongoose@4.12.2
关于javascript - 不推荐使用不带 'cursor' 选项的聚合命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46618744/