【发布时间】:2023-03-21 21:29:01
【问题描述】:
我正在使用 AQL 更新集合中的记录。有时,我得到 [ArangoError 1200: 冲突]。 在 JS Shell 中,我可以将第三个参数设置为 true 以使用覆盖并忽略冲突。如何忽略 AQL 中的冲突?
【问题讨论】:
-
你能提供一个产生冲突的示例查询吗?
-
答案是否满足您的需求?如果是,您可以标记它已解决吗?如果没有,缺少什么?
我正在使用 AQL 更新集合中的记录。有时,我得到 [ArangoError 1200: 冲突]。 在 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 }
虽然抑制错误可能会隐藏查询中存在的相关问题,但我一般不会推荐它。
【讨论】: