1 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果我添加數(shù)據(jù)庫(kù)中已存在的用戶(hù)名的記錄,我會(huì)得到 -
插入新用戶(hù)時(shí)出錯(cuò)多個(gè)寫(xiě)入錯(cuò)誤:[{寫(xiě)入錯(cuò)誤:[{E11000重復(fù)鍵錯(cuò)誤集合:hattip.user索引:username_unique dup key:{username:“dd”}}]},{}]
行中字段中帶有fmt.Println("Error on inserting new user", err)字符串的記錄已經(jīng)存在,并且該字段是唯一索引。ddusernameusername
我想確保該錯(cuò)誤是確切的 E11000 錯(cuò)誤(關(guān)鍵錯(cuò)誤的重復(fù)集合)。
到目前為止,我err與唯一字段重復(fù)時(shí)出現(xiàn)的整個(gè)錯(cuò)誤字符串進(jìn)行了比較,但它是完全錯(cuò)誤的。是否有辦法從err對(duì)象獲取錯(cuò)誤代碼,或者有其他方法來(lái)解決這個(gè)問(wèn)題?
另外,我找到了mgo包,但為了正確使用它,我必須學(xué)習(xí)它,重寫(xiě)當(dāng)前代碼等等,但老實(shí)說(shuō),它看起來(lái)不錯(cuò):
if mgo.IsDup(err) {
err = errors.New("Duplicate name exists")
}
- 1 回答
- 0 關(guān)注
- 167 瀏覽
添加回答
舉報(bào)