我想使用环回删除MySQL表中的几行。但我不想使用ID删除记录。我正在Angular SDK中尝试。我的代码是:
ModelName.destroyById({ fieldName : myValue })
.$promise
.then(function() {
});
我会非常感谢的想法。
最佳答案
似乎您需要使用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和正确的输入验证。