我在 Mongoose 中有一个电影模型,它有一个评级键,它是一个数字数组。我正在寻找某种可以添加到此架构中的方法,当我向数组添加新评级时,该方法会自动计算平均评级。有谁知道这是怎么做到的吗?
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var schema = new Schema({
title: String,
actors: String,
director: String,
length: Number,
description: String,
genre: String,
country: String,
year: Number,
ratings: [],
averageRating: Number,
reviews: [{type: Schema.Types.ObjectId, ref: 'Review'}],
pictureUrl: String
}, { usePushEach: true });
module.exports = mongoose.model('Movie', schema);
最佳答案
您可以定义method在架构上执行两件事:向 ratings
属性添加评级,然后更新 averageRatings
属性。然后,您可以调用此方法,而不是直接更新 ratings
属性。
关于javascript - Mongoose 模型 : calculate and automatically update average rating,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48773106/