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

Importuj plik JSON do MongoDB za pomocą mongoimport

Korzystając z MongoDB, możesz użyć mongoimport importować dokumenty do kolekcji. mongoimport to narzędzie wiersza poleceń, które importuje zawartość z pliku Extended JSON, CSV lub TSV. Plik importu mógł zostać utworzony przez mongoexport lub inne narzędzie do eksportu.

W tym artykule przedstawiono przykłady importowania pliku JSON do MongoDB.

Przykład

Załóżmy, że mamy następujący plik JSON o nazwie pets.json :

{ "_id" : 1, "name" : "Wag", "type" : "Dog" }
{ "_id" : 2, "name" : "Bark", "type" : "Dog" }
{ "_id" : 3, "name" : "Meow", "type" : "Cat" }

Następujące polecenie importuje plik JSON do MongoDB:

mongoimport --db=PetHotel --file=pets.json

W tym przypadku nie określiłem kolekcji, do której ma zostać zaimportowany, więc utworzyłem kolekcję o tej samej nazwie pliku (pets ).

Sprawdź wyniki

Przyjrzyjmy się kolekcji.

db.pets.find()

Wynik:

{ "_id" : 1, "name" : "Wag", "type" : "Dog" }
{ "_id" : 2, "name" : "Bark", "type" : "Dog" }
{ "_id" : 3, "name" : "Meow", "type" : "Cat" }

Widzimy, że dokumenty zostały zaimportowane zgodnie z oczekiwaniami.

Określ nazwę kolekcji

Możesz użyć --collection (lub -c ), aby określić kolekcję, do której ma zostać zaimportowany plik.

Oto przykład użycia --collection parametr do importowania tego samego pliku do innej kolekcji:

mongoimport --db=PetHotel --collection=pets2 --file=pets.json

Jeśli kolekcja jeszcze nie istnieje, zostanie utworzona. Jeśli już istnieje, wynik importu będzie zależał od używanego trybu (więcej na ten temat poniżej).

Upuść kolekcję przed importowaniem

Możesz użyć --drop parametr, aby usunąć dowolną istniejącą kolekcję o tej samej nazwie, co ta, którą próbujesz utworzyć/zaimportować.

Wyobraź sobie, że mamy drugi plik o nazwie pets2.json , z następującym dokumentem:

{ "_id" : 4, "name" : "Bubbles" }
{ "_id" : 5, "name" : "Hop", "type": "Kangaroo" }

Oto, co się stanie, jeśli zaimportuję ten dokument do pets kolekcja za pomocą --drop opcja:

mongoimport --db=PetHotel --collection=pets --drop --file=pets2.json

Wyjście:

2021-01-03T15:42:25.626+1000	connected to: mongodb://localhost/
2021-01-03T15:42:25.640+1000	dropping: PetHotel.pets
2021-01-03T15:42:25.734+1000	2 document(s) imported successfully. 0 document(s) failed to import.

Wiadomość informuje nas, że kolekcja została usunięta i jeden dokument został zaimportowany.

Przyjrzyjmy się kolekcji:

db.pets.find()

Wynik:

{ "_id" : 5, "name" : "Hop", "type" : "Kangaroo" }
{ "_id" : 4, "name" : "Bubbles" }

Zgodnie z oczekiwaniami, nasze dwa nowe dokumenty są jedynymi w kolekcji.

Tryby importu

Istnieją różne tryby importu, których można używać z mongoimport . Te tryby określają, co się stanie, jeśli w kolekcji, do której próbujesz zaimportować, znajdują się już pasujące dokumenty.

Tryby są następujące:

Tryb Opis
insert To jest tryb domyślny. Ten tryb wstawia dokumenty z pliku importu. Jeśli pasujący dokument już istnieje w kolekcji, wystąpi błąd. Pasujący dokument to taki, który ma ten sam unikalny identyfikator (taki jak pasujący _id pole) jako dokument w pliku importu.
upsert Zastępuje istniejące dokumenty w bazie danych pasującymi dokumentami z pliku importu. Wszystkie inne dokumenty są wstawione.
merge Scala istniejące dokumenty, które pasują do dokumentu w pliku importu, z nowym dokumentem. Wszystkie inne dokumenty są wstawione.
delete Usuwa istniejące dokumenty w bazie danych, które pasują do dokumentu w pliku importu. Wszelkie niezgodne dokumenty nie mają wpływu.

Zobacz tryby importu mongoimport dla przykładów każdego trybu.

Sprawdź 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 poleceń, 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 uruchamiać polecenia?

Nie zapomnij, 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. mongoexport bez pola _id

  2. Problem z instalacją sterownika MongoDb PHP na wamp

  3. Jak zaktualizować wiele pól za pomocą Update.Set w MongoDB przy użyciu oficjalnego sterownika c#?

  4. C# MongoDB.Driver GetServer już nie istnieje, co teraz?

  5. MongoDB $tan