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

apoc.trigger.drop

详情

语法

apoc.trigger.drop(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(毫秒)。

可以通过运行以下查询来删除以前安装的触发器

CALL apoc.trigger.drop('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])

{}

{}

FALSE

FALSE

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