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

Základní kurz MongoDB

MongoDB je databáze NoSQL. V části NoSQL zastřešujeme všechny ty databáze, které nepoužívají jazyk SQL pro dotazování na data.

Klíčové charakteristiky MongoDB

MongoDB je databáze velmi přátelská k JavaScriptu. Odhaluje JavaScript API, které můžeme použít k vytváření databází a kolekcí objektů (nazývaných dokumenty ).

Je to bez schématu , což znamená, že před uložením dat nemusíte předem definovat strukturu.

V MongoDB můžete uložit jakýkoli objekt, aniž byste se museli starat o konkrétní pole, která tvoří tento objekt, a jak je uložit. Řeknete MongoDB, aby tento objekt uložil.

Data jsou uložena ve formátu podobném JSON, ale vylepšena tak, aby umožňovala ukládání více než jen základních datových typů.

Instalace

Pokračujme a nainstalujme MongoDB. Můžete použít jednoho z mnoha cloudových poskytovatelů, kteří nabízejí přístup k instanci MongoDB, ale kvůli učení si to nainstalujeme sami.

Používám počítač Mac, takže pokyny k instalaci v tomto návodu se týkají tohoto operačního systému.

Otevřete terminál a spusťte:

brew tap mongodb/brew
brew install mongodb-community

To je ono.

Pokyny nebyly příliš dlouhé ani složité, za předpokladu, že víte, jak používat terminál a jak nainstalovat Homebrew.

Instalace nám říká toto:

To have launchd start mongodb now and restart at login:
  brew services start mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

Můžete si vybrat, zda spustíte MongoDB jednou a necháte jej běžet navždy jako službu na pozadí ve vašem počítači (to, co preferuji), nebo jej můžete spustit právě tehdy, když to potřebujete, spuštěním druhého příkazu.

Výchozí konfigurace pro MongoDB je tato:

systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

Protokoly jsou uloženy v /usr/local/var/log/mongodb/mongo.log a databáze je uložena v /usr/local/var/mongodb .

Ve výchozím nastavení neexistuje žádná kontrola přístupu, kdokoli může číst a zapisovat do databáze.

Skořápka Mongo

Nejlepší způsob, jak experimentovat s MongoDB a začít s ním pracovat, je spustit mongo program, který spustí shell MongoDB.

Nyní můžete zadat jakýkoli příkaz, kterému Mongo rozumí.

Vytvořte databázi

Když začnete, Mongo vytvoří databázi s názvem test . Spusťte db v shellu vám sdělí název aktivní databáze

Pro změnu databáze stačí napsat use newname a newname databáze bude okamžitě vytvořena a shell se přepne na její používání.

Použijte show databases seznam dostupných databází:

Jak vidíte, something databáze není uvedena jen proto, že v ní ještě není žádná kolekce. Pojďme si jeden vytvořit.

Sbírky

V MongoDB, kolekce je ekvivalent databázové tabulky SQL.

Kolekci v aktuální databázi vytvoříte pomocí db.createCollection() příkaz. První argument je název databáze a jako druhý parametr můžete předat objekt options.

Jakmile tak učiníte, show databases zobrazí seznam nové databáze a show collections zobrazí seznam sbírky.

Můžete také vytvořit novou kolekci tak, že ji použijete jako vlastnost db objekt a volání insert() pro přidání objektu do kolekce:

db.dogs.insert({ name: 'Roger' })

Výpis objektů do kolekce

Chcete-li zobrazit objekty přidané do kolekce, použijte find() metoda:

Jak můžete vidět, existuje další _id vlastnost pro záznam jsme přidali. To pro nás automaticky generuje MongoDB.

Nyní přidejte další psy:

db.dogs.insert({ name: 'Buck' })
db.dogs.insert({ name: 'Togo' })
db.dogs.insert({ name: 'Balto' })

Volání db.dogs.find() nám poskytne všechny položky, zatímco můžeme předat parametr pro filtrování a načtení konkrétní položky, například pomocí db.dogs.find({name: 'Roger'}) :

find() metoda vrací kurzor, na kterém musíte iterovat.

Existuje další metoda, která je užitečná, když víte, že získáte pouze jeden záznam, což je findOne() a používá se stejným způsobem. Pokud dotazu odpovídá více záznamů, vrátí pouze první.

Aktualizace záznamů

K aktualizaci záznamu můžete použít update() metoda na kolekci:

Odebírání záznamů

Můžete odstranit záznam, který volá remove() metoda na kolekci, předávání objektu, který jej pomůže identifikovat:

Chcete-li odstranit všechny položky z kolekce, předejte prázdný objekt:

db.dogs.remove({})

  1. Naplňte model mongoose polem, které není id

  2. Srovnání Apache HBase vs Apache Cassandra na SSD v cloudovém prostředí

  3. Jak filtrovat pole ve vnořeném dokumentu s MongoDB

  4. Tisk výstupu dotazu Mongo do souboru v prostředí mongo