在“删除后”挂钩中获取数据库操作的状态

布兰登·安扎尔迪(Brandon Anzaldi)

今天,我遇到了一个问题,即无法确定'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'都会调用挂钩。(在数据库中手动验证)

此外,确定该操作是否成功的唯一方法是尝试选择在该记录之前存在的记录。

有什么办法可以做到这一点?

村本

您可以设置一个ChangeStream,当服务器上的模型发生更改时,它将发送一个事件。仅警告是在DELETE上,即使没有记录与请求匹配,操作成功时您也会得到一个事件。因此,例如,如果我尝试name=foo两次删除同一记录,我将把它取回两次:

{"target":"foo","where":{"name":"foo"},"type":"remove"}

https://docs.strongloop.com/display/public/LB/Realtime+server-sent+events

编辑:您还可以通过内置的REST API创建和访问更改流

https://docs.strongloop.com/display/public/LB/PersistedModel+REST+API#PersistedModelRESTAPI-CreateChangeStream

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Airflow数据库挂钩中的SQLAlchemy引擎

来自分类Dev

区分提交后挂钩中的移动,重命名和常规添加/删除操作

来自分类Dev

挂钩和数据库更新后保存Magento地址

来自分类Dev

拖放操作后更新数据库

来自分类Dev

渲染之前在useEffect挂钩中获取数据-React

来自分类Dev

在发布后的同一PHP页面中处理数据库删除操作

来自分类Dev

在数据库中执行更新操作后删除索引

来自分类Dev

从Woocommerce挂钩中删除功能

来自分类Dev

在useState挂钩中设置状态后,反应状态变量不准确

来自分类Dev

为什么在UseEffect挂钩中设置状态后,我的React状态仍未定义?

来自分类Dev

使用jQuery从数据库中获取项目后,如何使用删除按钮生成项目列表

来自分类Dev

获取数据库结果后,从数组中删除最后一个逗号

来自分类Dev

删除大量数据后测量数据库的可用空间

来自分类Dev

数据库操作

来自分类Dev

如何在useEffect挂钩中设置状态?

来自分类Dev

无法在useEffect挂钩中设置状态

来自分类Dev

创建操作后更新数据库不起作用

来自分类Dev

数据库操作后VueJS刷新内容

来自分类Dev

监视MongoDB集合上的更新(数据库层上的更新后挂钩)

来自分类Dev

从数据库获取数据后追加到CSV文件

来自分类Dev

我想将复选框数据存储到功能状态挂钩中,但无法执行

来自分类Dev

如何将本地SQLite数据库与远程数据库同步以进行删除操作?

来自分类Dev

从检出后挂钩中检索分支名称

来自分类Dev

在接收后挂钩中触发jenkins构建

来自分类Dev

更改模型类后删除和更新数据库?

来自分类Dev

从数据库中删除记录后,DBGrid不刷新

来自分类Dev

从SQL数据库删除条目后出现Nullpointer异常

来自分类Dev

从数据库中删除记录后,DBGrid不刷新

来自分类Dev

从数据库中删除项目后刷新jtable

Related 相关文章

  1. 1

    Airflow数据库挂钩中的SQLAlchemy引擎

  2. 2

    区分提交后挂钩中的移动,重命名和常规添加/删除操作

  3. 3

    挂钩和数据库更新后保存Magento地址

  4. 4

    拖放操作后更新数据库

  5. 5

    渲染之前在useEffect挂钩中获取数据-React

  6. 6

    在发布后的同一PHP页面中处理数据库删除操作

  7. 7

    在数据库中执行更新操作后删除索引

  8. 8

    从Woocommerce挂钩中删除功能

  9. 9

    在useState挂钩中设置状态后,反应状态变量不准确

  10. 10

    为什么在UseEffect挂钩中设置状态后,我的React状态仍未定义?

  11. 11

    使用jQuery从数据库中获取项目后,如何使用删除按钮生成项目列表

  12. 12

    获取数据库结果后,从数组中删除最后一个逗号

  13. 13

    删除大量数据后测量数据库的可用空间

  14. 14

    数据库操作

  15. 15

    如何在useEffect挂钩中设置状态?

  16. 16

    无法在useEffect挂钩中设置状态

  17. 17

    创建操作后更新数据库不起作用

  18. 18

    数据库操作后VueJS刷新内容

  19. 19

    监视MongoDB集合上的更新(数据库层上的更新后挂钩)

  20. 20

    从数据库获取数据后追加到CSV文件

  21. 21

    我想将复选框数据存储到功能状态挂钩中,但无法执行

  22. 22

    如何将本地SQLite数据库与远程数据库同步以进行删除操作?

  23. 23

    从检出后挂钩中检索分支名称

  24. 24

    在接收后挂钩中触发jenkins构建

  25. 25

    更改模型类后删除和更新数据库?

  26. 26

    从数据库中删除记录后,DBGrid不刷新

  27. 27

    从SQL数据库删除条目后出现Nullpointer异常

  28. 28

    从数据库中删除记录后,DBGrid不刷新

  29. 29

    从数据库中删除项目后刷新jtable

热门标签

归档