如何避免ArangoDB中的AQL冲突?

时间:2015-12-15 20:24:08

标签: arangodb aql

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

1 个答案:

答案 0 :(得分:4)

虽然我不确定导致冲突的原因,但可以通过将指令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 }

虽然抑制错误可能会隐藏查询中存在的相关问题,但我不建议这样做。