var SampleModelSchema = new mongoose.Schema({
values: [Number]
});
SampleModelSchema.methods.addValue = function(value){
this.values.push(value);
return this.save();
};
var SampleModel = mongoose.model('SampleModel', SampleModelSchema);
我想在我的mongoose模式中添加方法 addValue
. 我'm facing a dilemma here. I can either put ' this.save()'在方法本身,或者我可以让这个方法的调用者调用save .
如果有人使用这个模型,我不希望他们记得调用save . 但是如果在循环中调用此方法,则实现非常糟糕 .
for(var k=0;k<10;k++){
mySampleModel.addValue(k);
}
这将调用保存10次,这对性能不利 .
最好的做法是永远不要将 save()
放在一个可以连续多次调用的方法中,并将保存责任委托给调用者?
谢谢!