Spring Data Neo4j 在更新操作后返回受影响节点的计数

问题描述 投票:0回答:1

使用 Spring Data Neo4j 存储库执行更新操作后,有什么方法可以返回受影响节点的计数吗?

例如

@Query("MATCH (n:Student) WHERE n.id IN $idList SET n.isRegistered = true")
Integer updateRegisterInfo(@Param("idList") List<String> idList);

但是 sdn 对于此类操作只能返回 void/null 值。

谢谢

java spring spring-boot neo4j spring-data-neo4j
1个回答
0
投票

如果您想要应用

SET
的节点数,请返回行数:

MATCH (n:Student) WHERE n.id IN $idList 
SET n.isRegistered = true
RETURN count(*) AS numAffected

如果您想要更改

isRegistered
值的节点数,请使用
isRegistered = true
子句删除已经具有
WHERE
的节点:

MATCH (n:Student) 
WHERE n.id IN $idList AND NOT coalesce(n.isRegistered, false) 
SET n.isRegistered = true
RETURN count(*) AS numAffected

(我刚刚格式化为独立的 Cypher 以使其更易于阅读。)

© www.soinside.com 2019 - 2024. All rights reserved.