var ProductSchema = new Schema({
title: {type: String},
rating : {type: Number},
ingredients : { type: String}
});
var IngredientSchema = new Schema({
title: {type: String},
weightage : {type: String}
});
示例:在ProductSchema中,“成分”字段为:“水,锌,尿素,二氧化硅,钠”
每种成分由IngredientSchema
定义示例:
title : Water | Zincum | Urea | Silica | Sodium
weightage: 5 | 7 | 3 | 2 | 9
现在我有一个计算产品评级的公式: [所有成分的重量总和] / [产品中成分的数量]
在我们的例子中:rating =(5 + 7 + 3 + 2 + 9)/ 5 = 5.2
现在在api中添加产品,我想根据Product的Ingredients字段计算评级,然后存储在数据库中。
怎么做?
答案 0 :(得分:1)
您需要引用Ingredient
到Product
架构。
使用mongoose populate。
var ProductSchema = new Schema({
title: {type: String},
rating : {type: Number},
ingredients : { Schema.ObjectId, ref: 'Ingredient'}
});
var IngredientSchema = new Schema({
title: {type: String},
weightage : {type: String}
});
进一步阅读:here