sql >> Databáze >  >> NoSQL >> MongoDB

Importujte dokumenty do MongoDB z pole dokumentů JSON

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.


  1. Ruby - mutex založený na Redis s implementací expirace

  2. Aplikace Heroku spadne po aktualizaci MongoDB na 3.0

  3. Začínáme se správou uživatelů MongoDB

  4. MongoDB $toDouble