环回查找然后更新属性或通过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 }) })