【发布时间】:2018-07-27 17:38:31
【问题描述】:
我更新到猫鼬版本 4.10.5 ,但由于某种原因,现在我的聚合失败并出现以下错误:
\node_modules\mongoose\lib\utils.js:214
throw error;
^
TypeError: callback.apply is not a function
at utils.promiseOrCallback.cb (C:\Users\Malin\Desktop\gameserver\node_modules\mongoose\lib\aggregate.js:693:14)
at Object.promiseOrCallback (C:\Users\Malin\Desktop\gameserver\node_modules\mongoose\lib\utils.js:211:14)
at Aggregate.exec (C:\Users\Malin\Desktop\gameserver\node_modules\mongoose\lib\aggregate.js:690:16)
at Function.aggregate (C:\Users\Malin\Desktop\gameserver\node_modules\mongoose\lib\model.js:2809:13)
我需要编辑什么才能让这项工作再次发挥作用?
正在执行的代码:
return Account.aggregate(
// Limit to relevant documents and potentially take advantage of an index
{ $match: {
haveusername: true,
}},
{ $project: {
total: { $add: ["$cash", "$bank"] }
}}
).sort({total: -1}).limit(10).then(function (richest) {
//something else here
});
【问题讨论】:
-
如何将
sort和limit包含在聚合管道中? -
是的,这可能是一些东西,但我不太擅长聚合 atm。
-
让我发布一个我将如何做的答案(但我不确定
then链接)。
标签: javascript mongodb mongoose aggregate