在AQL更新中使用新值

时间:2018-07-30 19:33:03

标签: arangodb upsert

我正在使用UPSERT

FOR doc IN temp_collection
UPSERT { _key: doc._key } 
INSERT 
{...} 
UPDATE 
{ 
    seen: OLD.seen + doc.seen
    x: (OLD.seen + doc.seen) > 10 ? 0 : 1
} 
IN main_collection

我想用新的(OLD.seen + doc.seen)中的值替换x中的seen,但尚未提交。但是我不能在这里使用伪变量NEW,而可以在LET内使用UPDATE。如果要摆脱重复,该怎么办?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

AQL当前不支持任何避免这种“重复”的操作。

您可以request this as feature,但由于为了进行某些优化而存在的语言限制,因此可能不容易实现。