diff --git a/pages/year4/bigdata/pratica.tsx b/pages/year4/bigdata/pratica.tsx index e920c9a..fe5f7cc 100644 --- a/pages/year4/bigdata/pratica.tsx +++ b/pages/year4/bigdata/pratica.tsx @@ -74,6 +74,15 @@ const Page: NextPage = () => { Come i record di un database relazionale! + +

+ + La sintassi dei documenti non è strettamente JSON: è più simile a quella degli oggetti di JavaScript, dato che non richiede virgolette esplicite nelle chiavi: +

+

+ {r`{something: "maybe"}`} +

+
@@ -156,9 +165,9 @@ const Page: NextPage = () => { - + - Creazione + Create Il metodo consigliato nelle slides, db.COLLEZIONE.insert(...), è deprecato. @@ -176,9 +185,9 @@ const Page: NextPage = () => { db.COLLEZIONE
.insertMany([DOCUMENTO1, DOCUMENTO2, ...])
- + - Ricerca + Read

È possibile recuperare tutti i documenti di una collezione con: @@ -187,13 +196,13 @@ const Page: NextPage = () => { db.COLLEZIONE.find()

- È possibile effettuare filtraggio e proiezione tramite le opzioni FILTRI e PROIEZIONI di find: + È possibile effettuare filtraggio e proiezione passando oggetti ai parametri FILTRI e PROIEZIONI di find:

db.COLLEZIONE.find({"{"}...FILTRI{"}"}, {"{"}...PROIEZIONI{"}"})

- È anche possibile effettuare ordinamenti e limitazioni: + È anche possibile effettuare ordinamenti e limitazioni:

db.COLLEZIONE
@@ -209,6 +218,62 @@ const Page: NextPage = () => {
+ + + + Update + + + + + Upsert + + + + + Delete + + + + + + Filtri + + + + Top-level + +

+ Per filtrare in base a dei campi top-level è sufficiente specificarli come top-level dell'oggetto: +

+ + {r`{"quantity": 1}`} + +
+ + + Nested + +

+ Per filtrare per campi interni all'oggetto, è possibile usare la notazione puntata: +

+ + {r`{"product.name": "Garasauto"}`} + +
+
+ + + Proiezione + + + + + + + + + }