【发布时间】:2015-01-04 19:07:43
【问题描述】:
我正在尝试计算我的 cmets 中所有评分的平均值,但结果。平均值始终为 0。我不知道有什么问题。这是我的产品架构:
var productSchema = new Schema({
_id : String,
Rating : { type: Number, default:0 },
Comments :[
{
type: Schema.ObjectId,
ref: 'comments'
}
],
});
这是我的评论模式:
var commentSchema = new Schema({
Rating : { type: Number, default:0 },
Helpful : { type: Number, default:0 },
User :{
type: Schema.ObjectId,
ref: 'users'
},
Content: String,
});
这是我在节点中的代码:
function getRating(id){
Product.aggregate([ { $match: { _id:id }}, { $unwind: "$Comments" },
{ $group: { _id: "$_id", average: { $avg: "$Comments.Rating" } }} ], function (err,result) {
if (err) {
console.log(err);
}
console.log(result);
return result.average;
});
}
【问题讨论】:
标签: node.js mongodb express mongoose