Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arangodb 在AQL更新中使用新值_Arangodb_Upsert - Fatal编程技术网

Arangodb 在AQL更新中使用新值

Arangodb 在AQL更新中使用新值,arangodb,upsert,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)替换为新值,但尚未提交seen。但是我不能在这里使用伪变量NEW,可以

我正在使用
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)
替换为新值,但尚未提交
seen
。但是我不能在这里使用伪变量
NEW
,可以在
UPDATE
中使用
LET
。如果我想消除重复,我还能做什么


提前谢谢你

AQL目前不支持任何避免这种“重复”的措施

您可以这样做,但可能不容易做到,因为存在语言限制,以允许某些优化