如何避免在ArangoDB中与AQL发生冲突?

4

我正在使用AQL来更新集合中的记录。有时,我会得到[ArangoError 1200 : conflict]的错误。在JS Shell中,我可以将第三个参数设置为true以使用overwrite并忽略冲突。如何在AQL中忽略冲突?


你能提供一个产生冲突的查询示例吗? - stj
答案是否满足您的需求?如果是,请标记为已解决。如果不是,缺少什么? - dothebart
1个回答

5

虽然我不确定是什么导致了冲突,但许多查询错误可以通过在查询的UPDATE部分附加指令OPTIONS { ignoreErrors: true }来关闭。

例如,以下原始查询:

FOR doc IN collection
  FILTER doc.value == 'someValue'  
  UPDATE doc WITH { count : doc.count + 1 } IN collection

会被调整为
FOR doc IN collection
  FILTER doc.value == 'someValue'  
  UPDATE doc WITH { count : doc.count + 1 } IN collection OPTION { ignoreErrors: true }

虽然抑制错误可能会隐藏查询中存在的相关问题,但我通常不建议这样做,特别是在涉及IT技术方面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接