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
。我在这里面临两难困境。我可以把' this.save()'在方法本身,或者我可以让这个方法的调用者调用save。
如果有人使用此模型,我不希望他们必须记住调用保存。但是如果在循环中调用此方法,则实现非常糟糕。
for(var k=0;k<10;k++){
mySampleModel.addValue(k);
}
这将调用保存10次,这对性能不利。
最好不要将save()
放在一个可以连续多次调用的方法中并将保存责任委托给调用者吗?
谢谢!