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

apoc.trigger.start

详情

语法

apoc.trigger.start(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,然后使用 apoc.trigger.stop 停止。

在这种情况下,可以通过运行以下查询来重新启动触发器

CALL apoc.trigger.start('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.