Ich arbeite an einem von MongoDB unterstützten Authentifizierungsmodul für meine asp.net-Anwendung. Die MongoDB-Datenbank enthält eine Sammlung von Benutzern, in denen ich Anmeldeinformationen - Benutzername, E-Mail-Adresse und Passwort - hinterlege. Sowohl der Benutzername als auch die E-Mail-Adresse sind eindeutig:
%Vor%Wenn ich jetzt versuche, einen Datensatz mit dem bestehenden Namen oder der E-Mail einzufügen, bekomme ich eine MongoDB-Ausnahme:
%Vor%Ich muss dem Benutzer sagen, dass der Benutzername oder die E-Mail, die er eingegeben hat, bereits existiert, aber die ganze Ausnahme ist nur ein Textblob, und um zu sehen was passiert, muss ich raten, ob "$ email" oder "$ uname "sind im Text der Fehlermeldung. Gibt es einen Parser für MongoDB-Exceptions, mit dem ich herausfinden kann, wofür die Exception steht?
Ich habe eine Feature-Anfrage im Bug-Tracker von MongoDB erstellt, um zusätzliche Felder zur Ausgabe von getLastError bei doppelten Schlüsselfehlern hinzuzufügen. Bitte stimmen Sie dafür unter Ссылка .
Bis dies implementiert ist, können Sie für Ihren Anwendungsfall einfach überprüfen, ob die Fehlerzeichenfolge "email" oder "uname" enthält und den duplizierten Wert aus dem Dokument abrufen, das Sie gerade eingefügt haben. Es ist nicht so elegant wie es sein könnte, aber es sollte jetzt funktionieren.
Tags und Links mongodb mongodb-.net-driver