ArangoDB 中如何避免与 AQL 冲突?

How to avoid conflict with AQL in ArangoDB?

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

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

例如下面的原始查询

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 }

虽然抑制错误可能会隐藏查询中存在的相关问题,所以我一般不推荐它。