【发布时间】:2015-01-04 16:15:51
【问题描述】:
我正在创建一个系统,用户可以对某个项目进行评论并从 0 到 5 对其进行评分。我正在为此使用 MongoDB。我的问题是找到计算产品架构中总评分的最佳解决方案。我不认为查询所有 cmets 以获取大小并将其除以总评级是一个很好的解决方案。这是我的架构。我感谢任何建议:
评论:
var commentSchema = new Schema({
Rating : { type: Number, default:0 },
Helpful : { type: Number, default:0 },
User :{
type: Schema.ObjectId,
ref: 'users'
},
Content: String,
});
这是我的项目架构:
var productSchema = new Schema({
//id is barcode
_id : String,
Rating : { type: Number, default:0 },
Comments :[
{
type: Schema.ObjectId,
ref: 'comments'
}
],
});
编辑:这是我从另一个主题得到的解决方案:calculating average in Mongoose
【问题讨论】:
-
你真的想要total(如总和),还是不想得到平均?
-
@Philipp 我想要平均,因为最终评分也必须在 0-5 之间。
标签: node.js mongodb database-design architecture mongoose