Behandeln von Importfehlern
In diesem Schritt lernen Sie, wie Sie häufige Importfehler bei der Arbeit mit MongoDB und mongoimport
behandeln. Das Verständnis dieser Fehler hilft Ihnen, Probleme bei der Datenimportierung zu beheben.
Zunächst erstellen wir eine Beispiel-Datei mit einigen Importherausforderungen:
cd ~/project
Erstellen Sie eine absichtlich problematische CSV-Datei:
nano problematic_members.csv
Fügen Sie den folgenden Inhalt hinzu:
name,age,membership_type,join_date
John Doe,thirty-five,Premium,2023-01-15
Jane Smith,28,Standard,invalid-date
Alice Johnson,42,Gold,2021-06-10
Beachten Sie die absichtlichen Fehler:
- "thirty-five" ist keine gültige Zahl
- "invalid-date" ist kein gültiges Datumsformat
Versuchen Sie, diese Datei zu importieren:
mongoimport --db library_database --collection problematic_members --type csv --file ~/project/problematic_members.csv --headerline
Sie werden wahrscheinlich eine Fehlermeldung wie diese sehen:
2024-xx-xx 00:00:00.000 [#######] Failed: document validation error
Um solche Fehler zu behandeln, verwenden Sie die Flags --stopOnError
und --jsonArray
:
mongoimport --db library_database --collection problematic_members --type csv --file ~/project/problematic_members.csv --headerline --stopOnError
Erstellen Sie eine saubere Version der Datei:
nano clean_members.csv
Fügen Sie den korrigierten Inhalt hinzu:
name,age,membership_type,join_date
John Doe,35,Premium,2023-01-15
Jane Smith,28,Standard,2022-11-20
Alice Johnson,42,Gold,2021-06-10
Importieren Sie jetzt mit Validierung:
mongoimport --db library_database --collection clean_members --type csv --file ~/project/clean_members.csv --headerline
Überprüfen Sie den Import:
mongosh library_database --eval "db.clean_members.find()"
Zeigen wir noch einen anderen häufigen Fehler - ein falsches JSON-Format - auf:
nano invalid_books.json
Fügen Sie absichtlich fehlerhaftes JSON hinzu:
[
{
"title": "MongoDB Basics",
"author": "Jane Smith",
"year": 2023
},
{
"title": "Incomplete Book"
// Fehlt Komma und schließende Klammer
}
]
Versuchen Sie, diese Datei zu importieren:
mongoimport --db library_database --collection invalid_books --file ~/project/invalid_books.json --jsonArray
Sie werden einen Fehler bei der JSON-Analyse sehen.
Erstellen Sie eine gültige JSON-Datei:
nano valid_books.json
Fügen Sie das korrekte JSON hinzu:
[
{
"title": "MongoDB Basics",
"author": "Jane Smith",
"year": 2023
},
{
"title": "Complete Book",
"author": "John Doe",
"year": 2022
}
]
Importieren Sie das gültige JSON:
mongoimport --db library_database --collection valid_books --file ~/project/valid_books.json --jsonArray