Я работаю над модулем аутентификации на основе MongoDB для моего приложения asp.net.База данных MongoDB содержит коллекции пользователей, в которых я храню информацию для входа - имя пользователя, адрес электронной почты и пароль.И имя пользователя, и адрес электронной почты установлены как уникальные:
users.ensureIndex({email:1}, {unique:1})
users.ensureIndex({uname:1}, {unique:1})
Теперь, если я пытаюсь вставить запись с существующим uname или email, я получаю исключение 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 })
Iнужно сообщить пользователю, что введенное имя пользователя или адрес электронной почты уже существует, но все исключение - это просто кусок текста, и чтобы увидеть, что происходит, я должен догадаться, посмотрев, есть ли в "$ email" или "$ uname"текст сообщения об ошибке.Есть ли какой-то синтаксический анализатор для исключений MongoDB, который помог бы мне определить, для чего предназначено исключение?