Bessere Möglichkeiten zur Behandlung von MongoDB-Ausnahmen

8

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?

    
Andrey 09.05.2011, 16:24
quelle

2 Antworten

7

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.

    
mstearn 09.05.2011, 17:33
quelle
1

Mit c # MongoDB driver 1.x kann ein Duplikat wie folgt erkannt werden

%Vor%

Mit c # MongoDB-Treiber 2.x finden Sie Ссылка

Aber wenn Sie genau wissen möchten, welchen doppelten Schlüssel Sie benötigen, um den Text zu analysieren,

    
KCD 24.07.2015 02:50
quelle

Tags und Links