Databáze 5

43. hodina DVOP WBB


Matěj Cajthaml — SSPŠ

©

Opakování

Co dělá LEFT JOIN?
K čemu slouží pohled?
Co je to template engine?
K čemu slouží přepínač --grep na git log?
Co je to AJAX?

Mongo

Mongo

  • dokumentová databáze
  • záznamy jsou JSON objekty
  • používá BSON — binární JSON
  • primárně nemá schémata — data nemají pevný tvar

Jak se líší JSON od BSON?

Terminologie

  • databáze
  • dokument
  • index
  • schéma
  • kolekce

Co myslíte, že jsou výhody mongo databáze?

Co myslíte, že jsou nevýhody mongo databáze?

Komunikace s mongem

Komunikace s mongem

  • příkazová řádka, shell
  • různé příkazy
  • podobné JS volání

Ukázka komunikace

Není na minulé ukázce něco zvláštního?

Komunikace v knihovnách

  • posílat příkazy není vhodné
  • různé zaobalení, posílají se objekty
  • např. data, vyhledávání, ...

Velká výhoda Mongo jsou replikace a sharding. Co to znamená?

Atlas

Práce

Vytvořte si účet na atlasu a vytvořte si databázi.

Mongo v Node.js

Driver

  • oficiální driver
  • jednoduché volání příkazů

Driver

Příkazy

  • findOne
  • find
  • insertOne
  • insertMany
  • updateOne
  • updateMany
  • deleteOne
  • deleteMany
  • countDocuments
  • distinct

Funkce na výběru

  • sort
  • limit
  • skip
  • project

ORM Mongoose

ORM Mongoose

  • objektové mapování
  • dokumenty jsou objekty
  • používá schémata vynuceně

ORM Mongoose

Funkcionality

  • obj.save
  • obj.remove
  • .find
  • .findOne
  • .updateOne
  • ...

Jaké jsou výhody a nevýhody mongoose a driveru?

Jaká z databází je lepší? Jakou použijete pro další projekt?

Děkuji za pozornost!

  • matej.cajthaml@ssps.cz
  • https://ssps.cajthaml.eu/