如何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()
的责任委托给调用者?
谢谢!