node.js - 两个模型之间的 Mongoose 聚合
问题描述
我正在尝试计算团队中所有团队成员的平均评分。我有两个 Mongoose 模型,用户和团队,用户的属性team
基本上是_id
他们所在团队的属性。此外,用户有关于他们的评级的信息。
我想做的是计算他们团队对所有用户的平均评分。我试过浏览 Mongoose API 文档,但没有得到预期的结果。
我正在尝试遍历团队并计算平均值,然后在完成此操作后,我会将其添加到每个返回回调的用户对象中。
这是我尝试过的:
`teams.forEach(function(team) { teamLockedMapping[team._id] = team.teamLocked const teamMembers = team.members User .aggregate([ {$match: {'team': team._id}}, ]) .exec (function(err,res) { console.log(res) }) })
teams.forEach(function(team) {
User
.aggregate([
{$match: {'team': team._id}},
])
.exec(function(err,res) {
console.log(res)
})
})`
但是, res 是公正的undefined
,如果我登录err
,我会得到:
MongoError: The 'cursor' option is required, except for aggregate with the explain argument
解决方案
推荐阅读
- java - 使用 ListIterator 时,我们何时(或何时不允许)允许并发修改?
- c++ - 我可以在另一个方法中使用模板类中定义的虚拟方法吗?
- python-3.x - 从烧瓶导入烧瓶失败并出现语法错误:语法无效
- javascript - 尝试将 HTML 文件转换为包含套接字 io 的 JavaScript 时出现语法错误,SyntaxError: Unexpected token <
- if-statement - 使用 if-then-else 打印文件和目录并说明它是文件还是目录
- c++ - 如何将 `void *` 类型更改为 `string` 类型
- python - Flask 虚拟环境和环境变量
- json - 如何在akka-Http中返回JSON而不是Case Class
- batch-file - 如何使用批处理将日期和时间写入同一行的日志文件
- android - 将联系人图像添加到 MessagingStyle 通知“人员”