Bij gebruik van mongoimport
, kunt u de --jsonArray
. gebruiken parameter om een array van JSON-documenten te importeren.
Voorbeeld
Stel dat we het volgende JSON-document hebben met de naam pets_array.json
:
[
{"_id":1.0,"name":"Wag","type":"Dog"},
{"_id":2.0,"name":"Bark","type":"Dog"},
{"_id":3.0,"name":"Meow","type":"Cat"}
]
Als we dat proberen te importeren in MongoDB zonder met behulp van de --jsonArray
parameter krijgen we de volgende foutmelding:
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.
In principe kan het de array niet decoderen in een document.
Om dit op te lossen, kunnen we eenvoudig de --jsonArray
. toevoegen parameter:
mongoimport --db=PetHotel --jsonArray --file=pets_array.json
Uitgang:
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.
Dit vertelt ons dat alle drie de documenten met succes zijn geïmporteerd.
We kunnen nu de collectie bekijken om te controleren:
db.pets_array.find()
Resultaat:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
Zoals verwacht zitten alle drie de documenten in de nieuw aangemaakte collectie.
De verzameling is nieuw gemaakt omdat we geen verzameling hebben opgegeven om de documenten in te importeren. Als we dat hadden gedaan, zouden ze zijn geïmporteerd in de opgegeven verzameling.
Heb geen mongoimport
?
mongoimport
maakt deel uit van het MongoDB Database Tools-pakket. De MongoDB Database Tools zijn een reeks opdrachtregelhulpprogramma's voor het werken met MongoDB.
Als u niet zeker weet of u over de MongoDB Database Tools/mongoimport
beschikt geïnstalleerd, probeer dan het volgende commando in je Terminal of Command Prompt uit te voeren om te controleren:
mongoimport --version
Als je het hebt, zou je versie-informatie, enz. moeten zien. Als je het niet hebt, kun je de installatie-instructies op de MongoDB-website gebruiken om het op je systeem te installeren.
Waar kunt u mongoimport
uitvoeren Commando's?
U moet mongoimport
. uitvoeren opdrachten vanaf de opdrachtregel van uw systeem (bijvoorbeeld een nieuw Terminal- of opdrachtpromptvenster).
Voer ze niet uit vanuit de mongo
schelp.