Mongoose 5.x不允许传递大量运算符 [英] Mongoose 5.x disallows passing a spread of operators

查看:154
本文介绍了Mongoose 5.x不允许传递大量运算符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

汇总查询返回错误.

'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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆