MongoDB poskytuje svým uživatelům možnost vytvářet moderní databáze, ke kterým lze snadno přistupovat a manipulovat s nimi.

MongoDB je open-source databáze NoSQL, která je k dispozici pro použití ve všech operačních systémech.

Pokud jste se naučili návrh databáze ve škole, je pravděpodobné, že jste se nenaučili používat MongoDB nebo jste získali mnoho zkušeností s databázemi NoSQL. To není žádným překvapením - až do roku 1998 mnoho lidí o NoSQL ani neslyšelo, a až v roce 2009 se databáze NoSQL začaly prosazovat.

Co je NoSQL?

Zkratka SQL znamená „jazyk strukturovaného dotazu“. SQL se používá k provádění matematických operací s údaji uchovávanými v databázích, které jsou pevně strukturovány podle řádků a sloupců (tabulek).

Zkratka NoSQL podle toho, na koho se ptáte, znamená „nejen SQL“ nebo „non SQL“. Jedinou skutečností však je, že každý lze souhlasit s tím, že NoSQL se používá k provádění operací s daty, která jsou uchovávána v databázích, které nejsou strukturovány podle řádků a sloupce.

Existuje několik databází NoSQL, ale název, který stojí nad ostatními, je MongoDB. Někteří lidé si ve skutečnosti myslí, že MongoDB je jediná databáze svého druhu.

Co je MongoDB?

NoSQL podporuje čtyři různé typy databází: dokument, úložiště klíč – hodnota, sloupcově orientovaný a graf. MongoDB je databáze dokumentů, protože ukládá data do dokumentu podobného formátu JSON a stejně jako všechny databáze podporuje všechny základní operace CRUD.

Příbuzný: Jak může databáze MongoDB lépe uspořádat vaše data

Co jsou operace CRUD?

Zkratka CRUD znamená „vytvářet, číst, aktualizovat a mazat“. CRUD představuje čtyři základní funkční požadavky všech databází. Pokud používáte databázi, která vám neumožňuje vytvářet, číst, aktualizovat nebo mazat záznamy, nejde o databázi.

Stáhněte si MongoDB

Než budete moci provádět jakékoli operace CRUD v MongoDB, budete si muset stáhnout a nainstalovat MongoDB do svého zařízení (nebo použijte dostupnou cloudovou verzi), spusťte server MongoDB, připojte se k němu a nakonec vytvořte nový databáze.

Server MongoDB lze stáhnout z oficiálního serveru Web MongoDB.

Provádění serveru MongoDB

Spusťte server MongoDB z konzoly vašeho IDE.


/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Users / Administrator / mongodb-data

Výše uvedený kód provede server MongoDB. První polovina poskytuje přímou cestu k spustitelnému souboru MongoDB (mongod.exe), který je uložen ve vašem zařízení. Cesta k vašemu zařízení by měla být odlišná, ale cílem je dosáhnout souboru mongod.exe ve složce bin.

Druhá polovina kódu (oddělená mezerou) je jiná cesta. Tato cesta vede k „mongodb-data“, což je soubor, který si budete muset vytvořit sami. Tento soubor bude obsahovat všechna data, která jsou vytvořena v naší databázi.

Náš soubor se jmenuje „mongodb-data“, ale název může být jakýkoli, jaký považujete za vhodný.

Spuštění výše uvedeného kódu by mělo vyprodukovat několik řádků kódu, ale dva řádky, kterým musíte věnovat velkou pozornost, jsou vidět níže:


{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "NETWORK", "id": 23015, "ctx": "listener", "msg": "Poslech na", "attr": {"address": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "NETWORK", "id": 23016, "ctx": "listener", "msg": "Čekání na připojení", "attr": {"port": 27017, "ssl": "off"}}

Tyto dva řádky obsahují localhost a výchozí port serveru MongoDB. Tato dvě čísla jsou potřebná k pozdějšímu vytvoření připojení k serveru MongoDB, abychom mohli provádět naše operace CRUD.

Provádění operací CRUD

Nyní, když je náš server MongoDB funkční, se k němu můžeme připojit (pomocí příslušného ovladače) a začít provádět operace CRUD. V tomto článku vytvoříme jednoduchou databázi uživatelů, která bude ukládat jména a stáří našich uživatelů.

Vytvoření uživatele

Existují dva hlavní způsoby, jak vložit uživatele do databáze MongoDB. Obě metody jsou si docela podobné, ale metoda, kterou byste měli zvolit, závisí na počtu uživatelů, které chcete v konkrétní instanci vytvořit. Pokud je vaším cílem vytvořit jednoho uživatele, měli byste použít insertOne metoda.

Pokud je však cílem vytvořit více než jednoho uživatele najednou, pak insertMany metoda je lepší volba.

Příklad metody MongoDB insertOne


// import mongodb a použití destructuring k získání funkce MongoClient
const {MongoClient} = require ("mongodb");
// adresa URL připojení a databáze, ke které se hodláme připojit
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// použití funkce connect na MongoClient pro připojení k serveru MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (chyba, klient) => {
// zkontrolovat, zda bylo navázáno připojení
if (chyba) {
return console.log ('Could not connect to database');
}
// přístup k databázi správce uživatelů
const db = client.db (název_databáze);
// vložit jednoho uživatele do databáze
db.collection ('users'). insertOne ({
jméno: 'John Doe',
věk: '28'
}, (chyba, výsledek) => {
if (chyba) {
return console.log ('Could not create user');
}
console.log (result.ops);
})
})

Než můžeme vytvořit libovolné uživatele, je třeba navázat spojení se serverem MongoDB pomocí ovladače MongoDB v jazyce, který používáte. Nejpopulárnějším ovladačem a ten, který používáme v tomto kurzu, je ovladač NodeJS.

S prvním řádkem našeho kódu výše jsme schopni použít metodu destrukce k načtení funkce MongoClient z našeho serveru.

MongoClient přijímá tři argumenty:

  • URL (používá se k připojení k serveru MongoDB)
  • Možnosti / Nastavení (což v tomto případě nastavuje proměnnou „useUnifiedTopology“ na hodnotu true, aby se usnadnilo používání nového modulu Server Discover and Monitoring)
  • Funkce zpětného volání, která trvá dva argumenty (chyba a klient)

V rámci funkce zpětného volání metody MongoClient můžeme konečně vložit uživatele do naší databáze. Ale než se dostaneme k tomuto bodu, musíme získat přístup k databázi uživatelů a správců.

Jednou z krás používání MongoDB je, že není nutné explicitně vytvářet databázi. Jakmile je odkaz na konkrétní databázi vygenerován pomocí argumentu „klient“ (jak je vidět v kódu výše), můžete s ním začít manipulovat.

Odkaz na databázi správce uživatelů, kterou generujeme, je uložen v proměnné „db“, kterou použijeme k vložení našeho prvního uživatele do databáze.

Pomocí odkazu „db“ můžeme vytvořit novou kolekci, které přiřadíme jméno „uživatel“.

The insertOne metoda trvá dva požadované argumenty; dokument (uživatel) a funkce zpětného volání. S insertOne metodou, jsme schopni vložit uživatele jménem Peter Davis s věkem 32, do naší databáze.

Funkce zpětného volání trvá dva argumenty (chyba a výsledek). Výsledná funkce obsahuje metodu ops, kterou používáme k vidění uživatele, kterého jsme právě vytvořili v naší databázi. Tím se po provedení výše uvedeného kódu v konzole vytvoří následující výstup:


[{name: 'Peter Davis', age: '32', _id: 60772f869475e84740003c45}]

Ačkoli jsme při vytváření uživatele poskytli pouze dvě pole, z výstupu výše vidíte, že bylo vygenerováno třetí pole. To je další skvělá věc na MongoDB; automaticky generuje jedinečné ID pro každý dokument, který vytvoří.

Příbuzný: Jak se liší modelování dat v MongoDB?

Čtení uživatele v MongoDB

Dvě hlavní metody používané ke čtení dokumentů z MongoDB jsou: nalézt a Najdi jednu. The nalézt metoda se používá ke čtení více dokumentů najednou a Najdi jednu metoda se používá ke čtení jednoho dokumentu najednou.

Příklad metody MongoDB findOne


// import mongodb a použití destructuring k získání metody MongoClient
const {MongoClient} = require ("mongodb");
// adresa URL připojení a databáze, ke které se hodláme připojit
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// použití funkce connect na MongoClient pro připojení k serveru MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (chyba, klient) => {
// zkontrolovat, zda bylo navázáno připojení
if (chyba) {
return console.log ('Could not connect to database');
}
// vytvoření databáze správce uživatelů
const db = client.db (název_databáze);
// vyhledání jednoho uživatele v databázi
db.collection ('users'). findOne ({name: 'Peter Davis'}, (chyba, uživatel) => {
if (chyba) {
return console.log ('Could not find user');
}
console.log (uživatel);
})
});

Je dobré si pamatovat, že se budete vždy muset připojit k serveru MongoDB a příslušné databázi, než budete moci provádět jakékoli operace CRUD (jak je vidět v našem příkladu výše).

The Najdi jednu metoda vyžaduje dva požadované argumenty. První argument obsahuje kritéria vyhledávání; dokument můžete vyhledat pomocí libovolného jedinečného názvu proměnné. V našem příkladu výše používáme jméno „Peter Davis“.

Druhý argument Najdi jednu metoda je funkce zpětného volání, která vyžaduje dva argumenty; první je chyba, pokud dokument nelze najít, a druhý je dokument (který jsme pojmenovali „uživatel“).

Spuštění výše uvedeného kódu způsobí v konzole následující výsledek:


{_id: 60772f869475e84740003c45, jméno: „Peter Davis“, věk: „32“}

Aktualizace uživatele v MongoDB

Existují dva dostupné způsoby aktualizace dokumentů v MongoDB. I když je struktura pro oba velmi podobná, updateOne se používá k aktualizaci jednoho dokumentu najednou a updateMany se používá k aktualizaci mnoha dokumentů najednou.

Příklad metody MongoDB updateOne


// Aktualizace věku uživatele
db.collection ('users'). updateOne ({name: "Peter Davis"},
{
$ set: {
věk: '24'
}
})

Pomocí výše uvedeného kódu můžeme aktualizovat věk Petera Davise na 24 let.

Odstranění uživatele v MongoDB

K dispozici jsou dvě metody pro odstranění dokumentu z MongoDB. The deleteOne metoda se používá k odstranění jednoho dokumentu a deleteMany metoda se používá k odstranění více dokumentů.

Příklad metody MongoDB deleteOne


// smazání dokumentu
db.collection ('users'). deleteOne ({name: 'Peter Davis'})

Operace odstranění je nejjednodušší operací CRUD, kterou lze provést v MongoDB. Jak vidíte ve výše uvedeném příkladu (nezahrnuje požadovaný kód připojení a funkci zpětného volání), trvá pouze jeden řádek kódu.

Nyní můžete provádět operace CRUD v MongoDB

Nyní máte základní znalosti MongoDB a víte, co znamená NoSQL. Také víte, co zkratka CRUD znamená a proč jsou tyto operace základními vlastnostmi každé databáze.

Tento článek poskytuje všechny nástroje potřebné k provedení čtyř základních operací CRUD v MongoDB. Nyní, když jste vybaveni operačním know-how CRUD, se můžete začít učit, jak nejlépe modelovat svá data pomocí MongoDB.

Uznání obrázku: Alexander Sosluev /WiKiMedia Commons

E-mailem
Jak se liší modelování dat v MongoDB?

Zvažujete jiný přístup k databázím? Tady je ukázka toho, jak modelování dat funguje v MongoDB.

Přečtěte si další

Související témata
  • Programování
  • Výukové programy pro kódování
  • databáze
O autorovi
Kadeisha Kean (9 článků publikováno)

Kadeisha Kean je vývojář softwaru a technický a technologický autor. Má výraznou schopnost zjednodušit některé z nejsložitějších technologických konceptů; výroba materiálu, kterému snadno porozumí každý technologický nováček. Nadšeně se věnuje psaní, vývoji zajímavého softwaru a cestování po světě (prostřednictvím dokumentů).

Více od Kadeisha Kean

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!

Ještě jeden krok…!

V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.

.