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() 放在一个可以连续多次调用的方法中,并将保存责任委托给调用者?

谢谢!