我想使用loopabck删除MySQL表中的几行。但我不想使用id来删除记录。我在Angular SDK中尝试它。我的代码是:
ModelName.destroyById({ fieldName : myValue })
.$promise
.then(function() {
});
我非常感谢你的想法。
答案 0 :(得分:0)
似乎您需要使用destroyAll
方法,它可以执行您想要的操作,但您需要首先为其设置远程处理,因为它默认情况下已禁用:
ModelName.remoteMethod('destroyAll', {
isStatic: true,
description: 'Delete all matching records',
accessType: 'WRITE',
accepts: {arg: 'where', type: 'object', description: 'filter.where object'},
http: {verb: 'del', path: '/'}
});
然后,您重新生成Angular客户端,您可以在客户端使用它:
ModelName.destroyAll({ filter: { fieldName : myValue }}).$promise.then(...)
请注意,使用destroyAll存在风险,因为您的代码中有任何错误,最终会丢失数据。将其启用到客户端可能是安全问题。
另一种方法是编写自己的remote method,它依次使用destroyAll并对输入进行适当的验证。