gpt4 book ai didi

javascript - 在 mongoosejs 中取列的总和/平均值

转载 作者:可可西里 更新时间:2023-11-01 09:56:28 25 4
gpt4 key购买 nike

我有一个 MongoDB 集合“Marks”,其中包含字段 student_id、Subject、Mark。我想要一个特定学生得分的平均值。我的项目在 NodeJs 中,我正在使用 MongooseJS 进行对象建模。如何使用 MOngooseJS 查询 this?

示例

     Student_id   Subject  Mark
111 AAA 9
111 BBB 5
111 CCC 7
222 AAA 10
222 CCC 6
222 BBB 8

我想要学生(id)111 的平均分数,即((9+5+7)/3)=7)

最佳答案

如果您使用的是 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);
}
}
);

输出:

[ { _id: 222, markAvg: 8 }, { _id: 111, markAvg: 7 } ]

关于javascript - 在 mongoosejs 中取列的总和/平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12948511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com