【发布时间】:2011-05-09 16:24:49
【问题描述】:
我正在为我的 asp.net 应用程序开发一个支持 MongoDB 的身份验证模块。 MongoDB 数据库有一组用户,我在其中存储登录信息 - 用户名、电子邮件和密码。用户名和电子邮件都设置为唯一:
users.ensureIndex({email:1}, {unique:1})
users.ensureIndex({uname:1}, {unique:1})
现在,如果我尝试使用现有的 uname 或电子邮件插入记录,我会收到 MongoDB 异常:
Safemode detected an error: E11000 duplicate key error index:
authdb.users.$email_1 dup key: { : "test@test.com" }
(response: { "err" : "E11000 duplicate key error index: authdb.users.$email_1
dup key: { : \"test@test.com\" }", "code" : 11000, "n" : 0, "connectionId" : 9,
"ok" : 1.0 })
我需要告诉用户他们输入的用户名或电子邮件已经存在,但整个异常只是一个文本块,要查看发生了什么我必须通过查看“$email”还是“$”来猜测uname”在错误消息文本中。是否有某种 MongoDB 异常解析器可以帮助我检测异常的用途?
【问题讨论】:
标签: mongodb mongodb-.net-driver