【问题标题】:How to avoid conflict with AQL in ArangoDB?如何避免与 ArangoDB 中的 AQL 冲突?
【发布时间】:2023-03-21 21:29:01
【问题描述】:

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

【问题讨论】:

  • 你能提供一个产生冲突的示例查询吗?
  • 答案是否满足您的需求?如果是,您可以标记它已解决吗?如果没有,缺少什么?

标签: arangodb aql


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 2018-02-03
    • 1970-01-01
    相关资源
    最近更新 更多