我正在寻找一个单一的Cypher查询,它将增加一个整数节点参数并返回该值,同时在不存在该参数时将其初始化为0。
类似以下伪代码Cypher:
我能够使用一个带有
这应该如何正确完成?
注意:`Order`节点非常复杂,包含许多其他属性,因此在这种情况下使用`MERGE`语句将是高度不希望的。
类似以下伪代码Cypher:
MATCH (n:Order)
IF n.product_count IS NULL THEN n.product_count = 0 // this line is what I need
SET n.product_count = n.product_count + 1
RETURN n.product_count
我能够使用一个带有
FOREACH
语句的查询来完成工作,但这似乎很笨拙,并不适合我的用例。MATCH (n:Order)
WHERE id(n) = 9503
FOREACH ( i in (CASE WHEN n.product_count IS NULL THEN [1] ELSE [] END) | SET n.product_count = 0 )
SET n.product_count = n.product_count + 1
RETURN n.product_count;
这应该如何正确完成?
注意:`Order`节点非常复杂,包含许多其他属性,因此在这种情况下使用`MERGE`语句将是高度不希望的。
coalesce
。 - Maciej Sz