0
我有一個貓鼬的模式,看起來像這樣:貓鼬場復位
var mongoose = require('mongoose');
var _ = require('lodash');
var Schema = mongoose.Schema;
var shopSchema = new mongoose.Schema({
name: {type: String, trim: true},
description: {type: String, trim: true},
rating: Number,
ratingsData: [{type: Number}]
});
shopSchema.methods.rate = function(rating){
this.ratingsData.push(rating);
this.rating = _.mean(this.ratingsData);
return this.ratingsData;
}
module.exports = mongoose.model('Shop', shopSchema);
率的方法應該追加傳遞給它的ratingsData字段中的值,然後返回數組的平均值。我遇到的問題是,每次調用該方法時,this.ratingsData
都只是一個空數組。由於某些原因,以前的值不會被保存。因此,我得到的平均值始終是傳遞給方法的評分。
我在做什麼錯?
如果您嘗試將數據插入到數據庫要麼做插入或保存到數據庫。嘗試檢索數據並計算平均值之前的事件。我沒有看到任何保存功能。 –
你可以在向db插入值之後執行操作。我無法理解你如何在同一時間嘗試實現這兩件事情。 –