Bei Verwendung von mongoimport
, können Sie --jsonArray
verwenden Parameter zum Importieren eines Arrays von JSON-Dokumenten.
Beispiel
Angenommen, wir haben das folgende JSON-Dokument namens pets_array.json
:
[
{"_id":1.0,"name":"Wag","type":"Dog"},
{"_id":2.0,"name":"Bark","type":"Dog"},
{"_id":3.0,"name":"Meow","type":"Cat"}
]
Wenn wir versuchen, das ohne in MongoDB zu importieren mit --jsonArray
-Parameter erhalten wir die folgende Fehlermeldung:
2021-01-03T13:52:58.360+1000 no collection specified 2021-01-03T13:52:58.360+1000 using filename 'pets_array' as collection 2021-01-03T13:52:58.366+1000 connected to: mongodb://localhost/ 2021-01-03T13:52:58.371+1000 Failed: cannot decode array into a D 2021-01-03T13:52:58.371+1000 0 document(s) imported successfully. 0 document(s) failed to import.
Grundsätzlich kann es das Array nicht in ein Dokument dekodieren.
Um dies zu beheben, können wir einfach das --jsonArray
hinzufügen Parameter:
mongoimport --db=PetHotel --jsonArray --file=pets_array.json
Ausgabe:
2021-01-03T13:58:13.407+1000 no collection specified 2021-01-03T13:58:13.408+1000 using filename 'pets_array' as collection 2021-01-03T13:58:13.421+1000 connected to: mongodb://localhost/ 2021-01-03T13:58:13.450+1000 3 document(s) imported successfully. 0 document(s) failed to import.
Dies sagt uns, dass alle drei Dokumente erfolgreich importiert wurden.
Wir können jetzt einen Blick auf die Sammlung werfen, um Folgendes zu überprüfen:
db.pets_array.find()
Ergebnis:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
Wie erwartet befinden sich alle drei Dokumente in der neu erstellten Sammlung.
Die Sammlung wird neu erstellt, weil wir keine Sammlung angegeben haben, in die die Dokumente importiert werden sollen. Wenn ja, wären sie in die angegebene Sammlung importiert worden.
Kein mongoimport
vorhanden ?
mongoimport
ist Teil des MongoDB Database Tools-Pakets. Die MongoDB-Datenbanktools sind eine Reihe von Befehlszeilendienstprogrammen für die Arbeit mit MongoDB.
Wenn Sie sich nicht sicher sind, ob Sie die MongoDB Database Tools/mongoimport
installiert haben, versuchen Sie, den folgenden Befehl in Ihrem Terminal oder Ihrer Eingabeaufforderung auszuführen, um dies zu überprüfen:
mongoimport --version
Wenn Sie es haben, sollten Sie Versionsinformationen usw. sehen. Wenn Sie es nicht haben, können Sie die Installationsanweisungen auf der MongoDB-Website verwenden, um es auf Ihrem System zu installieren.
Wo soll mongoimport
ausgeführt werden Befehle?
Sie müssen mongoimport
ausführen Befehle über die Befehlszeile Ihres Systems (z. B. ein neues Terminal- oder Eingabeaufforderungsfenster).
Führen Sie sie nicht vom mongo
aus Hülse.