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目前不支持任何避免这种“重复”的措施
您可以这样做,但可能不容易做到,因为存在语言限制,以允许某些优化