如何devise需要调用save()的Mongoose方法?

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); 

我想添加一个方法addValue到我的mongoose模式。 我在这里面临着一个困境。 我可以把'this.save()'放在方法本身,或者我可以让这个方法的调用者调用save。

如果有人使用这个模型,我不希望他们必须记得调用保存。 但是,如果在循环中调用此方法,那么实现是非常糟糕的。

 for(var k=0;k<10;k++){ mySampleModel.addValue(k); } 

这会调用保存10次,这对性能不利。

最好的做法是不要把save()放在一个可以连续多次调用的方法中,并把save()的责任委托给调用者?

谢谢!