[英]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.