Versuch, eine CSV mit Kontaktinformationen zu importieren:
Name,Address,City,State,ZIP
Jane Doe,123 Main St,Whereverville,CA,90210
John Doe,555 Broadway Ave,New York,NY,10010
Wenn Sie dies ausführen, werden der Datenbank anscheinend keine Dokumente hinzugefügt:
$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline
Trace sagt imported 1 objects
, aber das Starten der Mongo-Shell und das Ausführen db.things.find()
zeigt keine neuen Dokumente.
Was vermisse ich?
use mydb
vordb.things.find()
?Antworten:
Ihr Beispiel hat bei mir mit MongoDB 1.6.3 und 1.7.3 funktioniert. Beispiel unten war für 1.7.3. Verwenden Sie eine ältere Version von MongoDB?
quelle
mongoimport -d db_name -c collection_name --type csv --file filename.csv --headerline --host hostname:portnumber --authenticationDatabase admin --username 'iamauser' --password 'pwd123'
Ich war verwirrt über ein ähnliches Problem, bei dem mongoimport mir keinen Fehler gab, aber den Import von 0 Datensätzen meldete. Ich hatte meine Datei, die mit der OSX Excel für Mac 2011-Version nicht funktionierte, unter Verwendung des Standardformats "Speichern unter ..." "xls as csv" gespeichert, ohne speziell das Format "Windows Comma Separated (.csv)" anzugeben. Nachdem ich diese Site recherchiert und das Format "Speichern unter erneut mit" Windows Comma Separated (.csv) "versucht habe, hat mongoimport einwandfrei funktioniert. Ich denke, mongoimport erwartet in jeder Zeile ein Zeilenumbruchzeichen, und der Standard-CSV-Export von Mac Excel 2011 hat dies nicht bereitgestellt Zeichen am Ende jeder Zeile.
quelle
Wir müssen den folgenden Befehl ausführen:
Für weitere Informationen: Mongoimport
quelle
Sie müssen sich höchstwahrscheinlich authentifizieren, wenn Sie in Produktionsumgebungen arbeiten. Sie können so etwas verwenden, um sich bei der richtigen Datenbank mit den entsprechenden Anmeldeinformationen zu authentifizieren.
quelle
Stellen Sie sicher, dass am Ende der Datei eine leere Zeile steht. Andernfalls wird die letzte Zeile bei einigen Versionen von mongoimport ignoriert
quelle
Ich benutze dies auf Mongoimport Shell
Typ kann csv / tsv / json wählen, aber nur csv / tsv kann verwenden
--headerline
Sie können mehr über das offizielle Dokument lesen .
quelle
Robert Stewart hat bereits geantwortet, wie man mit mongoimport importiert.
Ich schlage eine einfache Möglichkeit vor, CSV elegant mit 3T MongoChef Tool (Version 3.2+) zu importieren . Könnte in Zukunft jemandem helfen.
Sehen Sie, wie Sie Videos importieren
quelle
Zuerst sollten Sie aus der
mongo
Shell herauskommen und dann denmongoimport
Befehl wie folgt ausführen :quelle
Die Antworten von Robert Stewart sind großartig.
Ich möchte hinzufügen, dass Sie Ihre Felder auch mit --columHaveTypes und --fields wie folgt eingeben können:
(Achten Sie darauf, dass nach dem Komma zwischen Ihren Feldern kein Leerzeichen steht.)
Weitere Typen finden Sie im Dokument hier: https://docs.mongodb.com/manual/reference/program/mongoimport/#cmdoption-mongoimport-columnshavetypes
quelle
Verwenden Sie für die Version 3.4 die folgende Syntax:
Nach 3 Tagen habe ich es endlich alleine geschafft. Vielen Dank an alle Benutzer, die mich unterstützt haben.
quelle
Beim Versuch, die CSV-Datei zu importieren, wurde eine Fehlermeldung angezeigt. Was habe ich getan. Zuerst habe ich die Spaltennamen der Kopfzeile in Großbuchstaben geändert und "-" entfernt und bei Bedarf "_" hinzugefügt. Geben Sie dann den folgenden Befehl ein, um CSV in Mongo zu importieren
quelle
C: \ wamp \ mongodb \ bin> mongoexport --db proj_mmm - Sammlungsangebote --csv --fieldFile Angebote_fields.txt --out Angebote.csv
quelle
Verwenden Sie dies einfach, nachdem Sie mongoimport ausgeführt haben
Es wird die Anzahl der importierten Objekte zurückgegeben
gibt die Anzahl der Objekte zurück.
quelle
verwenden :
quelle
mongoimport -d test -c test --type csv --file SampleCSVFile_119kb.csv --headerline
Sammlungsdaten prüfen: -
quelle
quelle
Seltsamerweise erwähnte niemand die
--uri
Flagge:quelle
In unserem Fall mussten wir den
host
Parameter hinzufügen , damit er funktioniertquelle
Meine Anforderung bestand darin, die
.csv (with no headline)
in eine entfernteMongoDB
Instanz zu importieren . Für denmongoimport v3.0.7
folgenden Befehl hat bei mir funktioniert:Beispielsweise:
Unten sehen Sie den Screenshot, wie er nach dem Import aussieht:
wo
name
undemail
sind die Spalten in der.csv
Datei.quelle
Bei der angegebenen
.csv
Datei, die nur eine Spalte ohne Kopfzeile enthält , hat der folgende Befehl für mich funktioniert:Dabei bezieht sich Feldname auf den Kopfzeilennamen der Spalte in der
.csv
Datei.quelle
Stellen Sie sicher, dass Sie die CSV-Datei nach / usr / local / bin oder in den Ordner kopieren, in dem sich Ihre Mondodb befindet
quelle