繁体   English   中英

确定哪个唯一约束导致ArangoDB中的INSERT错误

[英]Determining which unique constraint caused INSERT failure in ArangoDB

我在ArangoDB中有一个文档集合,该文档集合具有多个唯一索引。 插入新文档时,由于任何唯一索引,插入可能会失败。 有没有一种方法可以轻松找出文档中的哪个字段导致插入失败?

例如,采取一个存储用户数据的集合。 “用户名”和“电子邮件”字段上的唯一索引意味着,如果这些字段中的任何一个重复,则插入可能会失败。

错误消息是非特定的:

{ 
    error: true,
    errorMessage: 'unique constraint violated (while executing)',
    code: 409,
    errorNum: 1210
}

很长的路要走,就是分别输入/更新这些唯一字段,以便确定哪个字段违反了唯一约束。 或者尝试检索与我们的输入值匹配的文档,以在尝试插入之前确定是否会发生冲突。 我只是觉得必须有一种更简单的方法。

有没有一种方法可以返回字段名称和错误? 还是我从完全错误的角度来解决问题?

真的很感谢任何想法或建议。 谢谢。

抱歉, 目前没有实现此目标的明智方法 今天处理此问题的唯一方法是使用FILTER对您尝试插入的值进行后续选择:

FOR doc IN collection
  FILTER doc.firstindexed = 'firstvalue'
      OR doc.secondindexed = 'secondvalue'
    RETURN doc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM