我尝试使用HAS,UNSET等文档函数(希望如此),就像文档中描述的那样。不幸的是,导致语法错误1501.我也看到他们没有像其他信号词一样在AQL编辑器中突出显示。
这是一个例子(我也在教程服务器上测试过):
FOR u IN users
LIMIT 1
UNSET(u, "birthday")
RETURN u
有人看到了什么问题吗?
答案 0 :(得分:2)
好的,好的......写完之后我得到了它:一个人必须把它分配给某个东西。 e.g。
FOR u IN users
LIMIT 1
LET tmp = UNSET(u, "birthday")
RETURN tmp
很抱歉发布它...但我保留了它,也许其他初学者也犯了同样的错误: - )
答案 1 :(得分:2)
AQL函数不能出现在AQL的顶层。顶级允许的唯一内容包括FOR
,FILTER
,RETURN
,LET
,COLLECT
,SORT
,{ {1}}等
如果应该执行一个函数,则应该在INSERT
语句中捕获它的返回值以进行进一步处理,或者,如果不需要进一步处理,则可以在LET
s表达式中调用该函数,例如
RETURN
答案 2 :(得分:0)
这可能对其他用户有用:UNSET功能实际上并不替换集合中的文档。为此,您需要运行
FOR u IN users
LIMIT 1
LET u_new = UNSET(u, "birthday")
REPLACE u WITH u_new IN users