使用 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 值。
谢谢
如果您想要应用
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 以使其更易于阅读。)