我一直在关注 neo4j 查询
match (u:users {id: $id) set u.isOnline = null
它首次给出了将属性值设置为 1 的更新摘要,而当我再次重新运行查询时,它给出了相同值的 0。
但是当我运行这个查询时
match (u:users {id:$id}) set u.token = $token
无论我运行此查询多少次,它始终为我提供属性设置值的更新摘要为 1
我一直在关注 neo4j 查询
match (u:users {id: $id) set u.isOnline = null
它首次给出了将属性值设置为 1 的更新摘要,而当我再次重新运行查询时,它给出了相同值的 0。
但是当我运行这个查询时
match (u:users {id:$id}) set u.token = $token
无论我运行此查询多少次,它始终为我提供属性设置值的更新摘要为 1
是的,这就是 neo4j 的行为,因此在处理空值时必须注意这一点
当更新 null neo4j 时,会预先检查值是否存在(例如节点是否存在),但不会检查字符串或其他类型的值(例如数组)
因此,即使对于相同的值,字符串更新也总是会得到 true