Mongoose 5.x不允许传递大量运算符 [英] Mongoose 5.x disallows passing a spread of operators
问题描述
汇总查询返回错误.
'Mongoose 5.x不允许将大量运算符传递给 Model.aggregate()
.代替 Model.aggregate({$ match},{$ skip})
,执行 Model.aggregate([{{match},{$ skip}])
',
'Mongoose 5.x disallows passing a spread of operators to Model.aggregate()
. Instead of Model.aggregate({ $match }, { $skip })
, do Model.aggregate([{ $match }, { $skip }])
',
我正在使用猫鼬和MongoDb版本,例如
I am using mongoose and MongoDb version like
猫鼬":"^ 5.5.4",mongod版本:3.6.12
"mongoose": "^5.5.4", mongod version: 3.6.12
请建议我,我将非常感谢您.
Please suggest me I will be very Thankful to you.
推荐答案
之前
Model.aggregate({
$group: {
_id: "$id",
count: { $sum: "$like.count" }
}
})
之后
Model.aggregate([{
$group: {
_id: "$id",
count: { $sum: "$like.count" }
}
}])
说明:在 Model.aggregate()
用来获取不同的json对象之前,现在它们已将API更改为采用数组.
Explanation: Before Model.aggregate()
used to take different json objects, now they have changed the API to take array.
只需将您的JSON对象包装为 []
即可.
Just wrap your JSON objects with a []
it will work.
这篇关于Mongoose 5.x不允许传递大量运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!