|| apoc.trigger.stop - APOC 核心文档 - Neo4j 文档

apoc.trigger.stop

详情

语法

apoc.trigger.stop(databaseName, name) :: (name, query, selector, params, installed, paused)

描述

最终停止给定的触发器。

输入参数

名称

类型

描述

databaseName

STRING

触发器所在的数据库名称。

name

STRING

要删除的触发器名称。

返回参数

名称

类型

描述

name

STRING

触发器名称。

query

STRING

属于该触发器的查询。

selector

MAP

`{ phase = "before" :: ["before", "rollback", "after", "afterAsync"] }`

params

MAP

给定 Cypher 语句的参数。

installed

BOOLEAN

触发器是否已安装。

paused

BOOLEAN

触发器是否已暂停。

启用触发器

默认情况下,触发器是禁用的。我们可以通过在 apoc.conf 中设置以下属性来启用它们:

apoc.conf
apoc.trigger.enabled=true
apoc.trigger.refresh=60000
描述
选项键 描述

apoc.trigger.enabled

true/false,默认为 false

启用/禁用此功能

apoc.trigger.refresh

数字,默认为 60000

在所有集群节点上触发复制检查后的间隔(毫秒)

使用示例

apoc.trigger.* 过程旨在系统数据库中执行,因此必须通过打开系统数据库会话来执行。

有几种方法可以实现:

  • 使用 Cypher-shell 或 Neo4j Browser 时,在 Cypher 查询前加上 :use system

  • 使用 Fabric 时,在 Cypher 查询前加上 USE system

  • 使用驱动程序时,直接针对系统数据库打开会话

此外,apoc.trigger 过程接受第一个参数作为应安装、更新或删除触发器的数据库名称。

安装、更新或删除触发器是一个最终一致性操作。因此,它们不会立即添加/更新/删除,而是有一个由 APOC 配置 apoc.trigger.refresh=<MILLISECONDS> 处理的刷新率,默认为 60000(毫秒)。

此示例假定已执行 apoc.trigger.install

在这种情况下,可以通过运行以下查询来停止触发器:

CALL apoc.trigger.stop('neo4j', 'count-removals');
结果
name query selector params installed paused

"count-removals"

MATCH (c:Counter) SET c.count = c.count + size([f IN $deletedNodes WHERE id(f)  0])

{}

{}

TRUE

FALSE

© . This site is unofficial and not affiliated with Neo4j, Inc.