Při použití mongoimport
, můžete použít --jsonArray
parametr pro import pole dokumentů JSON.
Příklad
Předpokládejme, že máme následující dokument JSON s názvem pets_array.json
:
[
{"_id":1.0,"name":"Wag","type":"Dog"},
{"_id":2.0,"name":"Bark","type":"Dog"},
{"_id":3.0,"name":"Meow","type":"Cat"}
]
Pokud to zkusíme importovat do MongoDB bez pomocí --jsonArray
parametr, dostaneme následující chybu:
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.
V podstatě nemůže dekódovat pole do dokumentu.
Abychom to napravili, můžeme jednoduše přidat --jsonArray
parametr:
mongoimport --db=PetHotel --jsonArray --file=pets_array.json
Výstup:
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.
To nám říká, že všechny tři dokumenty byly úspěšně importovány.
Nyní se můžeme podívat na sbírku a zkontrolovat:
db.pets_array.find()
Výsledek:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
Podle očekávání jsou všechny tři dokumenty v nově vytvořené kolekci.
Kolekce je nově vytvořena, protože jsme neurčili kolekci, do které se mají dokumenty importovat. Pokud bychom to udělali, pak by byly importovány do určené kolekce.
Nemáte mongoimport
?
mongoimport
je součástí balíčku databázových nástrojů MongoDB. Databázové nástroje MongoDB jsou sada nástrojů příkazového řádku pro práci s MongoDB.
Pokud si nejste jisti, zda máte MongoDB Database Tools/mongoimport
nainstalovaný, zkuste spustit následující příkaz v terminálu nebo příkazovém řádku a zkontrolujte:
mongoimport --version
Pokud ji máte, měli byste vidět informace o verzi atd. Pokud ji nemáte, můžete ji nainstalovat do svého systému pomocí pokynů k instalaci na webu MongoDB.
Kde spustit mongoimport
Příkazy?
Musíte spustit mongoimport
příkazy z příkazového řádku vašeho systému (např. nový terminál nebo okno příkazového řádku).
Nespouštějte je z mongo
skořápka.