我对 Neo4J 很陌生,并且正在努力解决以下问题:
我只想在属性尚不存在时设置属性(如果它为空),并且不想设置属性(如果存在)。我如何修改下面的查询来实现这一点
MATCH (u:User)
WHERE u.uuid=$userId
SET u.unsubscribedAt = timestamp()
RETURN u
Run Code Online (Sandbox Code Playgroud)
提前致谢
更新1:我忘记提到的一件事:无论如何我仍然想返回节点,所以不能添加AND u.unsubscribedAt is nullwhere子句
您可以使用合并来实现此目的。它返回传递的第一个非空值,因此它将解析现有值(如果已经存在)
MATCH (u:User)
WHERE u.uuid=$userId
SET u.unsubscribedAt = coalesce(u.unsubscribedAt, timestamp())
RETURN u
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1826 次 |
| 最近记录: |