MongoDB nemá CREATE DATABASE
příkaz jako SQL.
V MongoDB vytvoříte databázi jednoduše přepnutím na neexistující databázi a následným vložením dat.
Příklad
Zde je příklad vytvoření nové databáze:
use PetHotel
Výsledek:
switched to db PetHotel
Tím se vytvoří nová databáze s názvem PetHotel
a udělá z něj aktuální databázi.
Databáze je však vytvořena jen částečně. Úplně se nevytvoří, dokud nevložíte data.
Pokud spustíme show dbs
příkaz k zobrazení, jaké databáze máme, se nezobrazí.
show dbs
Výsledek:
admin 0.000GB config 0.000GB local 0.000GB
Toto je výchozí sada databází, které byly nainstalovány s MongoDB. Pokud máte jiné databáze, uvidíte je také zde.
Jde ale o to, že náš nově vytvořený PetHotel
databáze není nikde vidět!
Vložit data
K úplnému vytvoření databáze potřebujeme vložit nějaká data. Stačí i jen malé množství.
Příklad:
db.pets.insert({ name: "Fetch" })
Výsledek:
WriteResult({ "nInserted" : 1 })
Tato zpráva nám říká, že byl vložen jeden dokument.
Nyní, když spustíme show dbs
opět můžeme vidět naši nově vytvořenou databázi.
show dbs
Výsledek:
PetHotel 0.000GB admin 0.000GB config 0.000GB local 0.000GB
Sbírky
Databáze obsahuje sbírky. V našem případě jsme již vytvořili kolekci s názvem pets
.
Když vkládáte data, používáte syntaxi takto:
db.<collection>.insert()
Kde <collection>
je název kolekce, do které se mají vkládat data. Pokud sbírka neexistuje, bude vytvořena.
V našem případě jsme použili následující příkaz:
db.pets.insert({ name: "Fetch" })
Což vytvořilo kolekci nazvanou pets
(protože ještě neexistoval).
Zkontrolujte data
Můžete použít find()
metoda sběru ke kontrole dat v kolekci.
Příklad:
db.pets.find()
Výsledek:
{ "_id" : ObjectId("5fe02d3937b49e0faf1af20b"), "name" : "Fetch" }
Podle očekávání je náš dokument vrácen.
Všimnete si, že má také další pole. Má _id
pole, které jsme při přidávání dokumentu nespecifikovali.
_id
obor je speciální obor. Používá se jako identifikátor dokumentu. Pokud dokument neurčuje _id
pole, pak MongoDB přidá _id
pole a přiřaďte jedinečné ObjectId
pro dokument před vložením.
Případně můžete zadat své vlastní _id
pole a přiřaďte mu vlastní hodnotu. Pamatujte však, že _id
hodnota musí být v rámci kolekce jedinečná, aby se předešlo chybě duplicitního klíče.