参考当前正在更新的文档
Refer the document which is currently being updated
我知道可以这样做:
FOR user IN users
FILTER user._key == "7"
UPDATE user WITH { friends: PUSH(user.friends, "8") } IN users
但是有点冗长。我想知道是否有办法做这样的事情:
UPDATE "7" WITH { friends: PUSH(CURRENT.friends, "8") } IN users
你是对的;目前没有简单的方法在仅更新一项时解决 CURRENT
文档。
可以使用 DOCUMENT function 再次获取原始文档:
UPDATE "7" WITH
{ friends: PUSH(DOCUMENT("user/7").friends, "8") } IN users
但是,它会提取文档两次,因此效率低于您的第一次查询。
您可以使用 db._explain()
重新验证您的第一个查询将是单个索引访问。
I've added a feature request to track this.
为了更持久地使用 RETURN
语法 (如果) 该变量将被命名为 OLD
.
我知道可以这样做:
FOR user IN users
FILTER user._key == "7"
UPDATE user WITH { friends: PUSH(user.friends, "8") } IN users
但是有点冗长。我想知道是否有办法做这样的事情:
UPDATE "7" WITH { friends: PUSH(CURRENT.friends, "8") } IN users
你是对的;目前没有简单的方法在仅更新一项时解决 CURRENT
文档。
可以使用 DOCUMENT function 再次获取原始文档:
UPDATE "7" WITH
{ friends: PUSH(DOCUMENT("user/7").friends, "8") } IN users
但是,它会提取文档两次,因此效率低于您的第一次查询。
您可以使用 db._explain()
重新验证您的第一个查询将是单个索引访问。
I've added a feature request to track this.
为了更持久地使用 RETURN
语法 (如果) 该变量将被命名为 OLD
.