dan*_*any 2 javascript mongoose mongodb node.js
我有一个带有字段student_id,Subject,Mark的MongoDB集合"Marks".我想要特定学生得分的平均值.我的项目在NodeJs中,我使用MongooseJS进行对象建模.如何使用MOngooseJS查询?
例
Student_id Subject Mark
111 AAA 9
111 BBB 5
111 CCC 7
222 AAA 10
222 CCC 6
222 BBB 8
Run Code Online (Sandbox Code Playgroud)
我希望学生得分的平均分(id)111即((9 + 5 + 7)/ 3)= 7)
Joh*_*yHK 12
如果您使用的是MongoDB 2.2,则可以使用聚合框架:
var Mark = mongoose.model('mark', new Schema({
Student_id: Number,
Subject: String,
Mark: Number
}));
Mark.aggregate([
{ $group: {
_id: '$Student_id',
markAvg: { $avg: '$Mark'}
}}
], function (err, results) {
if (err) {
console.error(err);
} else {
console.log(results);
}
}
);
Run Code Online (Sandbox Code Playgroud)
输出:
[ { _id: 222, markAvg: 8 }, { _id: 111, markAvg: 7 } ]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5661 次 |
| 最近记录: |