如何使用Cypher删除属性数组中的元素?
例如,假设已在查询中设置user
,我知道您可以使用REMOVE
删除属性,例如
REMOVE user.favouriteColours
但如果这是一个数组,我怎么能删除第一个元素?
REMOVE user.favouriteColours[0]
或
REMOVE user.favouriteColours.0
不起作用,我似乎无法在Google或文档上看到任何内容。
由于
编辑:
我应该提一下,我知道您可以使用user.favouriteColours[0]
返回以获取第一个元素,但删除不起作用
答案 0 :(得分:2)
要删除数组的第一个元素,可以使用tail
函数:
MATCH (user:User {id:123})
SET user.favouriteColors = tail(user.favouriteColors)
如果你需要通过删除数组的第n个元素来更一般地解决这个问题;
MATCH (user:User {id:123})
SET user.favouriteColors = user.favouriteColors[0..n] +
user.favouriteColors[n+1..length(user.favouriteColors)]