Podczas korzystania z mongoimport
, możesz użyć --jsonArray
parametr do importowania tablicy dokumentów JSON.
Przykład
Załóżmy, że mamy następujący dokument JSON o nazwie pets_array.json
:
[
{"_id":1.0,"name":"Wag","type":"Dog"},
{"_id":2.0,"name":"Bark","type":"Dog"},
{"_id":3.0,"name":"Meow","type":"Cat"}
]
Jeśli spróbujemy zaimportować to do MongoDB bez za pomocą --jsonArray
parametr, otrzymujemy następujący błąd:
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.
Zasadniczo nie może zdekodować tablicy do dokumentu.
Aby to naprawić, możemy po prostu dodać --jsonArray
parametr:
mongoimport --db=PetHotel --jsonArray --file=pets_array.json
Wyjście:
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 mówi nam, że wszystkie trzy dokumenty zostały pomyślnie zaimportowane.
Możemy teraz przyjrzeć się kolekcji, aby sprawdzić:
db.pets_array.find()
Wynik:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
Zgodnie z oczekiwaniami wszystkie trzy dokumenty znajdują się w nowo utworzonej kolekcji.
Kolekcja jest nowo utworzona, ponieważ nie określiliśmy kolekcji, do której mają zostać zaimportowane dokumenty. Gdybyśmy mieli, zostałyby zaimportowane do określonej kolekcji.
Nie mam mongoimport
?
mongoimport
jest częścią pakietu MongoDB Database Tools. Narzędzia baz danych MongoDB to zestaw narzędzi wiersza poleceń do pracy z MongoDB.
Jeśli nie masz pewności, czy masz narzędzia bazy danych MongoDB/mongoimport
zainstalowany, spróbuj uruchomić następujące polecenie w terminalu lub wierszu polecenia, aby sprawdzić:
mongoimport --version
Jeśli go masz, powinieneś zobaczyć informacje o wersji itp. Jeśli go nie masz, możesz skorzystać z instrukcji instalacji na stronie MongoDB, aby zainstalować ją w swoim systemie.
Gdzie uruchomić mongoimport
Polecenia?
Musisz uruchomić mongoimport
polecenia z wiersza poleceń systemu (np. nowe okno terminala lub wiersza polecenia).
Nie uruchamiaj ich z mongo
powłoka.