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

Jak vytvářet, zobrazovat a pouštět sbírky v MongoDB

MongoDB je open-source NoSQL databáze, což znamená, že na rozdíl od relačních databází nepřijímá vstupní hodnoty ve formátu tabulky. Data jsou uložena ve sbírkách a dokumentech, protože MongoDB je databáze orientovaná na dokumenty. Řádky v tabulce SQL byly nahrazeny dokumenty v MongoDB.

Tento článek předpokládá, že jste již na svůj počítač nainstalovali server MongoDB a připojili k serveru shell. Pokud jste tak již učinili, můžeme prozkoumat několik funkcí MongoDB, ale nejprve několik terminologií:Pokud ne, můžete se podívat na článek o tom, jak nainstalovat MongoDB na Ubuntu.

  • Databáze – toto je fyzický kontejner, který obsahuje sadu kolekcí. Může obsahovat nula nebo více kolekcí. Neexistuje žádné omezení počtu databází, které lze hostovat na jedné instanci serveru, protože může hostovat více databází. Jeho jediným limitem je adresní prostor virtuální paměti, který může základní operační systém přidělit.
  • Sbírka – sada MongoDB dokumentů podobných „tabulkám“ v relačních databázových systémech. Sbírka obsahuje dokumenty podobného nebo příbuzného účelu. Kolekce jsou bez schématu, což znamená, že dokumenty ve stejné kolekci mohou mít různá pole.
  • Dokument – toto je základní jednotka pro ukládání dat v MongoDB. Jsou analogické s ROW v tradičních relačních databázových systémech. Dokumenty jsou uspořádané sady párů klíč–hodnota, což znamená, že každému klíči je přiřazena hodnota. Často se jim říká „objekty“. Jsou reprezentovány ve formátu podobnému JSON (páry klíč-hodnota-hodnota). Data jsou uložena a dotazována v binární reprezentaci dat podobných JSON známé jako BSON. Příklad tohoto formátu je uveden níže:
{
Student_enroll: “foss123”,
grade: ‘B’
}
  • Pole – toto je ekvivalent sloupců v relačních databázích. Je uložen ve spojení s jeho hodnotou v párech klíč–hodnota. Dokumenty v kolekci mohou mít nula nebo více polí.
  • _id – toto je povinné pole v každém dokumentu MongoDB. Pokud uživatel vytvoří dokument bez pole _id, MongoDB automaticky vytvoří pole. _ID se používají k reprezentaci jedinečných dokumentů v kolekci. Fungují jako primární klíče dokumentů.

Vytvoření databáze MongoDB

K vytvoření databáze v MongoDB dochází implicitně, když se pokusíte použít databázi. Chcete-li vytvořit databázi, zadejte do mongo shellu následující:

> use fossDB

Výstup:

Poznámka: Chcete-li otevřít prostředí Mongo, spusťte níže uvedený příkaz:

mongo

MongoDB nejprve zkontroluje, zda je přítomna databáze s názvem fossDB. Pokud ne, vytvoří se nový, který bude použit. Shell Mongo se poté přepne na fossDB. To znamená, že každá vytvořená, aktualizovaná nebo přečtená kolekce a dokument bude z této databáze, pokud není uvedeno jinak.

Chcete-li vytisknout databázi, ve které se právě nacházíte, použijte příkaz > db . Chcete-li zobrazit seznam všech dostupných a vytvořených databází, použijte příkaz >zobrazit . Příklady těchto používaných příkazů jsou uvedeny níže;

>db
fossDB
>show dbs
admin  0.000GB
config  0.000GB
local    0.000GB
mydb   0.000GB

Výstup:

Poznámka: Nezasahujte do administrátorských a konfiguračních databází, protože je Mongo používá pro administrativní účely.

Vytvoření kolekce MongoDB

Chcete-li vytvořit kolekci, nejprve se ujistěte, že jste ve správné databázi, ve které chcete kolekci vytvořit. Kolekci lze vytvořit dvěma způsoby:

1. Explicitní vytvoření kolekce

Použijte níže uvedený příkaz:

>db.createCollection("Collection1");
{"ok":1}

Výstup:

Tento příkaz pak vytvoří kolekci s názvem Collection1

2. Vložení dokumentu do nové kolekce

Můžete rychle zkusit vložit dokument do neexistující kolekce. To vyzve Mongo, aby pro vás vytvořil novou kolekci. Pamatujte, že i když je to výhodné z hlediska programového vytváření kolekcí, pokud používáte prostředí Mongo a při vkládání dokumentu někde uděláte překlep, dokument může skončit v nové databázi, o které nevíte.

Syntaxe pro vytvoření nové kolekce je;

db.collection_name.insert(document); 

Chcete-li vytvořit kolekci Collection2 v databázi fossDB, použijte následující příkaz:

> db.Collection2.insert({name: "Alex",key: "value",age: 20});

Výstup:

V tomto příkladu je část dokumentu reprezentována následujícím řetězcem JSON:

{
name: "Alex",
key: "value"
age: 20
}

Toto jsou páry klíč–hodnota typické pro řetězec JSON. „Jméno“ je klíč a „Alex“ je hodnota. Uživatel může mít v této kolekci více dokumentů s názvem klíče a jinou hodnotou, řekněme Max.

Pomocí příkazu níže zobrazíte seznam všech kolekcí v databázi:

> show collections
Collection1
Collection2

Výstup:

Z výstupu si všimnete, že byly vytvořeny obě kolekce. Jste si jisti, že můžete přidat nový dokument do kolekce.

Zobrazují se sbírky

Pokud jste si toho nevšimli, při probírání ostatních příkazů jsme často používali klíčové slovo show. Abychom to zrekapitulovali, příkazy pro zobrazení kolekcí a databází jsou:

>show collections
>show dbs

Výstup:

Ve spojení s příkazem db, tyto příkazy se používají k tisku aktuální databáze a jsou velmi užitečné při interakci s prostředím Mongo.

Odstranění sbírek a databáze MongoDB

Příkaz drop je klíčové slovo, kterého jsme se v tomto článku nedotkli. Je to příkaz používaný k odstranění sbírek nebo celých databází ze serveru Mongo uživatele. Chcete-li zahodit, následující syntaxe vás provede celým procesem.

1. Vyřazení sbírek

Odstraníme kolekci „Collection2“, kterou jsme vytvořili dříve. To se provádí pomocí příkazu níže:

>db.Collection2.drop()

Výstup:

Chcete-li ověřit, že kolekce byla odstraněna, můžete pomocí příkazu show collections zobrazit seznam zbývajících kolekcí. Všimnete si, že v seznamu bude chybět jedna kolekce.

2. Odstranění databází

Než spustíte příkaz k odstranění databáze, měli byste zkontrolovat, zda jste ve správné databázi, jinak se můžete zbavit nesprávné databáze a skončit ztrátou cenných dat, která jste neměli v úmyslu odstranit. V tomto příkladu zrušíme databázi fossDB, kterou jsme vytvořili dříve. Pomocí příkazu níže se přesvědčíme, že jsme ve správné databázi:

>db
fossDB

Výstup:

zahoďme databázi pomocí níže uvedeného příkazu:

>db.dropDatabase();

Výstup:

Níže představíme různé termíny SQL a jejich odpovídající termíny MongoDB;

Termíny SQL Podmínky MongoDB
Databáze Databáze
Tabulka Sbírka
Index Index
Řádek Dokument / dokument BSON
Sloupec Pole
Spojení tabulek Vložené dokumenty a propojení
Primární klíč – v SQL určuje libovolný jedinečný sloupec nebo kombinaci sloupců Primární klíč – tento klíč je automaticky nastaven do pole _id v MongoDB

Závěr

MongoDB si získal obrovskou popularitu ve světě vývojářů díky reprezentaci JSON, škálovatelnosti, snadnému a dynamickému způsobu vytváření dokumentů. Tento článek pojednává o třech příkazech používaných v prostředí MongoDB. Doufáme, že vám tento článek pomohl lépe porozumět těmto příkazům. Pokud hledáte databázi pro použití v projektu pro zvedání velkého množství dat, MongoDB je dobrá volba, kterou byste mohli zvážit.


  1. $lookup na ObjectId v poli

  2. Jak vypsat všechny databáze MongoDB v Node.js?

  3. Ovladač Mongo DB Java 3.x - Seskupit podle dotazu

  4. Fronta Laravel 5.5 redis je příliš pomalá