Lekce 8 - Rozšíření API v Node.js - Schémata, validace, POST, DELETE
V minulé lekci, Čtení dat z MongoDB, RESTful API s databází, jsme se seznámili s důležitými operacemi, které databáze MongoDB nabízí. Vytvořili jsme také základ pro naše API s filmy v Node.js.
V dnešním Node.js tutoriálu budeme pokračovat v tvorbě naší filmové databáze. Do API si přidáme kolekci s osobami (herci/režiséry) a postaráme se o validaci dat.
Schémata
Začneme tím, že si přidáme mongoose schéma pro osoby
(herce a režiséry, ti budou v jedné kolekci) a upravíme stávající schéma
pro filmy. Navíc si vytvoříme pole žánrů ([String]
), které
bude možné později přiřadit filmům. Na žánry by se dala udělat další
kolekce, ale pro jednoduchost je budeme držet v poli:
const movieSchema = new mongoose.Schema({ name: String, year: Number, directorID: mongoose.Schema.Types.ObjectId, actorIDs: [mongoose.Schema.Types.ObjectId], genres: [String], isAvailable: Boolean, dateAdded: { type: Date, default: Date.now } }); const personSchema = new mongoose.Schema({ name: String, birthDate: Date, country: String, biography: String, role: String // "actor" nebo "director" }); const genres = ["sci-fi", "adventure", "action", "romantic", "animated", "comedy"]; const Movie = mongoose.model("Movie", movieSchema); const Person = mongoose.model("Person", personSchema);
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Omezená nabídka: Nauč se vše a ušetři
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium II, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu si rozšíříme Node.js API s MongoDB o novou kolekci s osobami. Naprogramujeme si reakce na požadavky typu POST a DELETE.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.