【发布时间】:2016-03-29 03:47:31
【问题描述】:
今天我遇到了一个问题,我无法确定删除操作是否在 'after delete' 挂钩中成功完成。这是有问题的,因为它需要额外的数据库操作来确定删除是成功还是失败。
UserFollowers.observe('after delete', function observer(ctx, next) {
var instance = ctx.instance; // ctx.instance is null for some reason.
logger.info('Starting after delete');
logger.info('Ctx:',JSON.stringify(ctx));
// Ctx: {"where":{"followSrcId":2,"followDestId":1},"hookState":{},"options":{}}
logger.info('Ctx Non-Enumerable Properties:', Object.getOwnPropertyNames(ctx));
// Ctx Non-Enumerable Properties: ["Model","where","hookState","options"]
// Note that Model is the only non-enumerable property not spit out by JSON.stringify()
});
没有指示操作是成功还是失败,无论操作成功与否,都会调用'after delete' 挂钩。 (在数据库中手动验证)
此外,确定操作是否成功的唯一方法是尝试选择之前存在的记录。
有没有办法得到这个?
【问题讨论】:
标签: node.js database express loopbackjs strongloop