在活动记录中,update_attributes允许更多功能性写作。
而不是:
Model.findOne({criteria: 'foo'}).then(model => {
model.criteria = 'bar';
model.save();
});
写作:
Model.findOne({criteria: 'foo'}).then(model => model.updateAttributes({criteria: 'bar'}));
在Mongoose有类似的方法来实现这一目标吗?
答案 0 :(得分:0)
您始终可以doc.set({ criteria: 'bar' }).save()
。
您还可以在架构中定义方法
Schema.methods.updateAttributes = function (object) {
return this.set(object).save()
};
为了做到
Model.findOne({ criteria: 'foo' }).then(doc => doc.updateAttributes({ criteria: 'bar' }));
如果您想重复使用此方法,可以create a plugin。