使用变更数据捕获 (CDC)
变更数据捕获(CDC)查询可通过使用 cdc 命名空间中的过程,由 Cypher® Builder 创建
-
Cypher.db.cdc.current() -
Cypher.db.cdc.earliest() -
Cypher.db.cdc.query(from, selectors)
|
在 Neo4j 5.17 之前,cdc 过程的命名空间是 |
示例
获取当前更改标识符
为了查询更改,您必须获取一个更改标识符。可以使用 cdc.current() 或 cdc.earliest() 来完成此操作。要获取最新的更改标识符,请按照以下说明进行。
const query = Cypher.db.cdc.current().yield("id");
const { cypher } = query.build();
CALL db.cdc.current() YIELD id
查询更改
要查询图中的更改,请按照以下说明进行。
const query = Cypher.db.cdc.query(fromId);
const { cypher } = query.build();
CALL db.cdc.query("cdc-id", [])
使用查询选择器
要使用 CDC 选择器,必须为每个选择器定义一个包含选择器模式属性的 Map。
const fromId="cdc-id";
const selector = new Cypher.Map({
select: new Cypher.Literal("e"),
operation: new Cypher.Literal("c"),
changesTo: new Cypher.List([new Cypher.Literal("name"), new Cypher.Literal("title")]),
});
const query = Cypher.db.cdc.query(fromId, [selector]);
const { cypher } = query.build();
CALL db.cdc.query("cdc-id", [{
select: "e",
operation: "c",
changesTo: ["name", "title"]
}])