环回查找然后更新属性或通过ID删除
一直试图在Loopback中为persistedModel的一些静态方法find样本用法。
https://apidocs.strongloop.com/loopback/#persistedmodel-prototype-updateattribute
它只是说:
persistedModel.updateAttributes(data, callback)
但是,我如何select我要更新的logging? 这不适合我。
var order = Order.setId('whateverrecordId'); order.updateAttributes({name:'new name'},callback)
爱回环..但他们的文件,糟透了.. 🙁
你可以使用AfterSave这样的事件监听器
例:
Model.observe('after save', function(ctx, next) { ctx.instance.updateAttribute(fieldname:'new value'); next(); });
1-你做了什么是正确的,但我不build议这种方法它用于实例方法,并且通常更新所有集合的date字段,所以你不需要它的id。
但是你可以尝试创build一个包含数据的数组来更新,同时也包含ID,然后做一个比较来填充你拥有的ID的数据。 (在#dosomething中)
order.find().then(function(orders) { orders.forEach(function(element) { order.setId(element.id); #DoSomething order.updateAttribute({new: data}, function(err, instance) { console.log(instance); }) }); })
2-您可以使用updateAll更新一个或多个属性。
PersistedModel.updateAll([where],data,callback)
var Updates = [{id : 1, name: name1}, ...] Updates.forEach(function(element) { order.updateAll({id : element.id}, {name :element.name}, function(err, count) { if (err) { console.error(err); } console.log(count); // number of data updated }) })