MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Importuj dokumenty do MongoDB z tablicy dokumentów JSON

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.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapytać IDE dla MongoDB?

  2. MongoDB $stdDevPop

  3. Wydajność MongoDB - posiadanie wielu baz danych

  4. MongoDB — Rozwiń tablicę za pomocą agregacji i usuń duplikaty

  5. Zmień nazwę pola w wynikach zapytania w MongoDB