Quando si utilizza mongoimport
, puoi usare --jsonArray
parametro per importare un array di documenti JSON.
Esempio
Supponiamo di avere il seguente documento JSON chiamato pets_array.json
:
[
{"_id":1.0,"name":"Wag","type":"Dog"},
{"_id":2.0,"name":"Bark","type":"Dog"},
{"_id":3.0,"name":"Meow","type":"Cat"}
]
Se proviamo a importarlo in MongoDB senza utilizzando --jsonArray
parametro, otteniamo il seguente errore:
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.
Fondamentalmente, non può decodificare l'array in un documento.
Per risolvere questo problema, possiamo semplicemente aggiungere --jsonArray
parametro:
mongoimport --db=PetHotel --jsonArray --file=pets_array.json
Uscita:
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.
Questo ci dice che tutti e tre i documenti sono stati importati correttamente.
Ora possiamo dare un'occhiata alla collezione per controllare:
db.pets_array.find()
Risultato:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
Come previsto, tutti e tre i documenti si trovano nella raccolta appena creata.
La raccolta è stata creata di recente perché non è stata specificata una raccolta in cui importare i documenti. Se lo avessimo fatto, sarebbero stati importati nella raccolta specificata.
Non ho mongoimport
?
mongoimport
fa parte del pacchetto MongoDB Database Tools. I MongoDB Database Tools sono una suite di utilità da riga di comando per lavorare con MongoDB.
Se non sei sicuro di avere MongoDB Database Tools/mongoimport
installato, prova a eseguire il seguente comando nel terminale o nel prompt dei comandi per verificare:
mongoimport --version
Se ce l'hai, dovresti vedere le informazioni sulla versione, ecc. Se non ce l'hai, puoi usare le istruzioni di installazione sul sito Web di MongoDB per installarlo sul tuo sistema.
Dove eseguire mongoimport
Comandi?
Devi eseguire mongoimport
comandi dalla riga di comando del sistema (ad es. una nuova finestra del terminale o del prompt dei comandi).
Non eseguirli da mongo
guscio.