我有一个集合MongoDB中与形式的文件:MongoDB中数据库解析错误,插入到集合具有唯一索引
{
"user": "user1",
"email: "[email protected]",
}
其中字段“用户”和“电子邮件”是唯一的。我想插入一个新用户到集合中,同时检查这两个值的唯一性。我可以与氧化镁golang这样做插入:
session.SetSafe(&mgo.Safe{}) // ensure mgo waits for errors
user := struct{
string `bson:"user"`
string `bson:"email"`
}{
"user1",
"[email protected]"
}
err := users.Insert(user) // where user is type *mgo.Collection
如果我打印err
它输出insertDocument :: caused by :: 11000 E11000 duplicate key error index: kails.users.$name_1 dup key: { : "user1" }
是否有使用这个错误找到该值不是唯一的一个惯用的方式?如果不是两个? (还是需要其他步骤?)。使用正则表达式解析字符串会感觉...错误。
如果不可能使用错误来查找是否不唯一,那么是否有任何“$或”查询的替代方法(检查唯一)+ insert?
我读过mgo documentation,希望我没有错过任何重要的东西。
您如何使这些字段具有唯一性? – Peres
你在哪里提到你的唯一字段'电子邮件ID' – muthukumar