﻿1
00:00:01,130 --> 00:00:03,660
‫Istruttore: Quindi, non importa se hai

2
00:00:03,660 --> 00:00:07,080
‫installato MongoDB su Windows o su Mac OS, ora

3
00:00:07,080 --> 00:00:10,570
‫creeremo il nostro primo database locale, utilizzando Mongo Shell.

4
00:00:10,570 --> 00:00:13,780
‫Quindi questa applicazione terminale che è Mongo Shell funziona

5
00:00:13,780 --> 00:00:16,900
‫esattamente allo stesso modo su Windows e Mac, quindi

6
00:00:16,900 --> 00:00:19,390
‫d'ora in poi non importa più quale

7
00:00:19,390 --> 00:00:20,633
‫piattaforma stai utilizzando.

8
00:00:21,860 --> 00:00:24,810
‫Quindi qui in questa scheda del terminale ho

9
00:00:24,810 --> 00:00:27,730
‫ancora il mio server Mongo praticamente in

10
00:00:27,730 --> 00:00:31,600
‫esecuzione in background su questa porta, quindi andiamo avanti e

11
00:00:31,600 --> 00:00:33,260
‫apriamo Mongo Shell.

12
00:00:33,260 --> 00:00:36,060
‫Quindi ricorda, stai semplicemente digitando Mongo qui

13
00:00:36,060 --> 00:00:38,660
‫nella riga di comando e

14
00:00:38,660 --> 00:00:42,580
‫questo aprirà Mongo Shell, quindi Command K per cancellare il

15
00:00:42,580 --> 00:00:46,370
‫terminale, e quindi ora creiamo effettivamente il nostro primo database.

16
00:00:46,370 --> 00:00:49,320
‫E lo facciamo usando "use".

17
00:00:49,320 --> 00:00:53,060
‫Quindi usiamo il comando "use" all'interno della Mongo Shell e

18
00:00:53,060 --> 00:00:56,290
‫quindi il nome del database che vogliamo creare.

19
00:00:56,290 --> 00:00:58,760
‫Ora questo comando qui viene utilizzato

20
00:00:58,760 --> 00:01:01,830
‫anche per passare a un database già esistente, ma

21
00:01:01,830 --> 00:01:04,570
‫se proviamo a passare sostanzialmente a un

22
00:01:04,570 --> 00:01:07,580
‫database che non esiste ancora, ne creerà uno nuovo.

23
00:01:07,580 --> 00:01:11,550
‫Quindi diciamo "usa natours-test",

24
00:01:11,550 --> 00:01:13,673
‫ok.

25
00:01:13,673 --> 00:01:17,750
‫E così ha creato quel database e ci è passato anche sopra.

26
00:01:17,750 --> 00:01:20,380
‫Ok, e ora questo database vuoto è

27
00:01:20,380 --> 00:01:22,830
‫pronto per ricevere alcuni dati.

28
00:01:22,830 --> 00:01:26,350
‫Ora ricorda che all'interno di un database abbiamo raccolte

29
00:01:26,350 --> 00:01:29,180
‫e quindi ogni raccolta contiene documenti.

30
00:01:29,180 --> 00:01:31,430
‫E i dati che creiamo in Mongo

31
00:01:31,430 --> 00:01:33,000
‫Shell sono sempre documenti.

32
00:01:33,000 --> 00:01:35,710
‫E quindi, ovviamente, dobbiamo creare il

33
00:01:35,710 --> 00:01:38,730
‫documento all'interno di una raccolta, quindi specifichiamo

34
00:01:38,730 --> 00:01:41,767
‫quella raccolta prima di inserire un documento.

35
00:01:41,767 --> 00:01:45,340
‫E questo funziona così, quindi db, che sta per il

36
00:01:45,340 --> 00:01:48,160
‫database corrente, che in questo caso è

37
00:01:48,160 --> 00:01:51,450
‫natours-test, e poi specifichiamo il nome della collezione che

38
00:01:52,430 --> 00:01:54,560
‫è tours, e poi su quello

39
00:01:54,560 --> 00:01:56,653
‫usiamo la funzione insertMany.

40
00:01:58,960 --> 00:02:02,948
‫Quindi insertMany proprio così, quindi solo per ricapitolare qui, Database

41
00:02:02,948 --> 00:02:06,760
‫è il database attualmente utilizzato che è attivo in questo

42
00:02:06,760 --> 00:02:09,450
‫momento e quando vogliamo inserire un documento

43
00:02:09,450 --> 00:02:12,470
‫in esso dobbiamo specificare la raccolta in cui

44
00:02:12,470 --> 00:02:14,220
‫vivrà quel documento.

45
00:02:14,220 --> 00:02:16,610
‫E lo facciamo usando il punto e

46
00:02:16,610 --> 00:02:19,870
‫poi il nome della raccolta, che in questo caso è "tours".

47
00:02:19,870 --> 00:02:22,280
‫In questo momento questa raccolta non

48
00:02:22,280 --> 00:02:26,600
‫è stata creata, quindi la creerà una volta eseguito questo comando, ok.

49
00:02:26,600 --> 00:02:29,830
‫E in seguito avremo una raccolta per gli utenti

50
00:02:29,830 --> 00:02:32,790
‫o per le recensioni, quindi fondamentalmente per

51
00:02:32,790 --> 00:02:35,890
‫tutte le risorse che abbiamo creato nell'ultima sezione, giusto.

52
00:02:35,890 --> 00:02:38,410
‫Quindi, usando i tour qui perché questa

53
00:02:38,410 --> 00:02:41,310
‫è una delle nostre risorse nella nostra applicazione, ok.

54
00:02:41,310 --> 00:02:43,740
‫Ma per ora non preoccuparti troppo, parleremo

55
00:02:43,740 --> 00:02:46,920
‫della modellazione dei dati un po' più avanti nel corso.

56
00:02:46,920 --> 00:02:50,350
‫Ok, comunque, ora inseriamo effettivamente un documento in

57
00:02:50,350 --> 00:02:52,210
‫questa raccolta di database.

58
00:02:52,210 --> 00:02:53,860
‫Ed è davvero molto semplice.

59
00:02:53,860 --> 00:02:57,590
‫Quindi, ricorda che MongoDb utilizza BSON, che è

60
00:02:57,590 --> 00:02:59,960
‫abbastanza simile a JSON,

61
00:02:59,960 --> 00:03:02,990
‫quindi possiamo semplicemente passare un oggetto

62
00:03:02,990 --> 00:03:05,540
‫JavaScript in questa funzione insertMany

63
00:03:05,540 --> 00:03:10,000
‫e quindi lo convertirà in JSON e BSON, ok.

64
00:03:10,000 --> 00:03:12,800
‫Quindi un normale oggetto JavaScript come questo, e poi,

65
00:03:12,800 --> 00:03:14,730
‫proprio come prima, definiamo il nome

66
00:03:14,730 --> 00:03:15,833
‫del tour.

67
00:03:19,370 --> 00:03:21,950
‫E lo chiamo The Forest Hiker, che

68
00:03:21,950 --> 00:03:25,330
‫è uno dei tour che abbiamo effettivamente nel nostro documento

69
00:03:25,330 --> 00:03:28,580
‫JSON a questo punto, quindi The Forest Hiker, impostiamo un

70
00:03:28,580 --> 00:03:30,450
‫prezzo a 297, e poi

71
00:03:30,450 --> 00:03:31,283
‫anche una

72
00:03:32,359 --> 00:03:33,192
‫valutazione, come

73
00:03:34,080 --> 00:03:39,760
‫una valutazione media , che può essere 4.

74
00:03:40,848 --> 00:03:41,681
‫7 va bene.

75
00:03:41,681 --> 00:03:45,510
‫Quindi questo qui sembra solo un normale oggetto JavaScript, ora

76
00:03:45,510 --> 00:03:48,640
‫potremmo anche usare le virgolette sui nomi delle

77
00:03:48,640 --> 00:03:51,450
‫proprietà, ma in realtà è facoltativo, ok.

78
00:03:51,450 --> 00:03:52,943
‫Ora qui su

79
00:03:53,900 --> 00:03:56,100
‫questi, e qui probabilmente abbiamo bisogno

80
00:03:57,380 --> 00:04:01,430
‫delle virgolette doppie, ok, quindi JSON non riconosce le virgolette singole,

81
00:04:01,430 --> 00:04:03,360
‫e quindi per sicurezza usiamo

82
00:04:03,360 --> 00:04:05,720
‫solo le virgolette qui, anche se

83
00:04:05,720 --> 00:04:08,530
‫di solito mi piace usare quelle singole .

84
00:04:08,530 --> 00:04:11,460
‫E ora, appena prima di premere Invio, dobbiamo

85
00:04:11,460 --> 00:04:14,275
‫anche correggere questa funzione qui, perché non

86
00:04:14,275 --> 00:04:17,180
‫è insertMany, perché in realtà stiamo inserendo

87
00:04:17,180 --> 00:04:18,453
‫solo un

88
00:04:19,390 --> 00:04:22,300
‫documento qui, quindi si chiama insertOne, ok.

89
00:04:22,300 --> 00:04:25,630
‫Quindi usiamo insertMany per creare più documenti e

90
00:04:25,630 --> 00:04:28,930
‫usiamo insertOne quando vogliamo solo crearne uno.

91
00:04:28,930 --> 00:04:32,090
‫Ok, ora premiamo Invio, e proprio così

92
00:04:32,090 --> 00:04:35,650
‫abbiamo creato il nostro primo documento nel nostro database.

93
00:04:35,650 --> 00:04:39,022
‫Ok, e ora solo per verificarlo, usiamo DB, che di nuovo è

94
00:04:39,022 --> 00:04:42,430
‫il database corrente, quindi . tour. trovi tutto a posto ed

95
00:04:44,367 --> 00:04:45,200
‫ecco

96
00:04:47,050 --> 00:04:49,850
‫infatti il documento che abbiamo appena creato.

97
00:04:49,850 --> 00:04:51,310
‫E nota come

98
00:04:51,310 --> 00:04:54,120
‫ha anche creato automaticamente questo ID oggetto

99
00:04:54,120 --> 00:04:57,500
‫qui che è l'identificatore univoco di questo documento.

100
00:04:57,500 --> 00:04:58,930
‫Quindi ricorda come ho

101
00:04:58,930 --> 00:05:02,320
‫detto che MongoDB avrebbe creato automaticamente questi identificatori univoci dietro

102
00:05:02,320 --> 00:05:05,750
‫le quinte, e quindi è esattamente quello che vedi qui.

103
00:05:05,750 --> 00:05:08,400
‫E oltre a questo, beh, vedi che

104
00:05:08,400 --> 00:05:11,100
‫questo è davvero solo un normale oggetto JSON.

105
00:05:11,100 --> 00:05:13,970
‫E quindi questo rende fantastico e davvero facile lavorare

106
00:05:13,970 --> 00:05:17,290
‫con JavaScript, e come puoi immaginare, questo renderà davvero facile

107
00:05:17,290 --> 00:05:20,050
‫lavorare con i dati MongoDB in JavaScript.

108
00:05:20,050 --> 00:05:24,500
‫Perché stiamo già utilizzando lo stesso formato a cui

109
00:05:24,500 --> 00:05:27,360
‫siamo già abituati in JavaScript.

110
00:05:27,360 --> 00:05:29,610
‫E questo è uno dei motivi principali per

111
00:05:29,610 --> 00:05:32,300
‫cui MongoDB è così popolare per le applicazioni Node JS.

112
00:05:32,300 --> 00:05:35,730
‫Ok, ora un altro comando molto utile è

113
00:05:35,730 --> 00:05:40,300
‫show dbs, che in pratica ci mostrerà tutti i database che abbiamo

114
00:05:40,300 --> 00:05:44,090
‫in MongoDB, quindi qui vedete il nostro database natours-test.

115
00:05:44,090 --> 00:05:48,540
‫Ma ne abbiamo anche altri, che MongoDB crea automaticamente

116
00:05:48,540 --> 00:05:50,000
‫per noi.

117
00:05:50,000 --> 00:05:52,570
‫E il tuo potrebbe non essere lo stesso di

118
00:05:52,570 --> 00:05:56,070
‫questi tre, ma in caso contrario, non preoccuparti, e proprio come prima potremmo

119
00:05:56,070 --> 00:05:58,810
‫usare il comando "usa" per passare a uno di questi.

120
00:05:58,810 --> 00:06:02,710
‫Quindi diciamo che ora volevamo usare admin, e quindi

121
00:06:02,710 --> 00:06:06,470
‫ora siamo passati a DB admin, va bene.

122
00:06:06,470 --> 00:06:09,280
‫Quindi, di nuovo, "usare" è passare a

123
00:06:09,280 --> 00:06:12,800
‫un database esistente o crearne uno nuovo, se il nome

124
00:06:12,800 --> 00:06:15,210
‫che gli passiamo non esiste ancora.

125
00:06:15,210 --> 00:06:17,293
‫Quindi vogliamo tornare

126
00:06:19,420 --> 00:06:22,667
‫a natours-test perché ora voglio mostrarti

127
00:06:22,667 --> 00:06:24,840
‫solo un altro comando

128
00:06:24,840 --> 00:06:27,370
‫rapido qui, quindi "mostra collezioni".

129
00:06:27,370 --> 00:06:28,887
‫E così qui puoi vedere

130
00:06:30,400 --> 00:06:33,000
‫la collezione di tour che abbiamo appena creato prima.

131
00:06:33,000 --> 00:06:34,720
‫Quindi ricorda come

132
00:06:34,720 --> 00:06:38,550
‫ho detto che quando abbiamo creato il documento abbiamo creato

133
00:06:38,550 --> 00:06:41,830
‫anche la raccolta dei tour, perché ogni documento

134
00:06:41,830 --> 00:06:44,790
‫deve sempre essere all'interno di una raccolta.

135
00:06:44,790 --> 00:06:45,760
‫Ok, questi

136
00:06:45,760 --> 00:06:48,630
‫sono i comandi di base in Mongo Shell

137
00:06:48,630 --> 00:06:51,320
‫e nel prossimo paio di lezioni

138
00:06:51,320 --> 00:06:54,670
‫creeremo documenti, li interrogheremo, li aggiorneremo e li cancelleremo.

139
00:06:54,670 --> 00:06:55,970
‫Quindi praticamente tutte le operazioni del mestiere.

140
00:06:55,970 --> 00:06:58,243
‫Per ora lasciami solo mostrare

141
00:06:59,460 --> 00:07:02,520
‫come possiamo effettivamente uscire da Mongo Shell.

142
00:07:02,520 --> 00:07:03,800
‫Quindi, molto facile,

143
00:07:03,800 --> 00:07:06,740
‫basta digitare quit in questo modo e poi uscirà.

144
00:07:06,740 --> 00:07:08,660
‫Solo per mostrarti

145
00:07:08,660 --> 00:07:11,630
‫rapidamente che il nostro database è stato

146
00:07:11,630 --> 00:07:16,020
‫effettivamente mantenuto, eseguiamo semplicemente di nuovo la Shell, quindi cancelliamolo di

147
00:07:16,020 --> 00:07:19,890
‫nuovo rapidamente, "show dbs", e vedrai che natours è

148
00:07:19,890 --> 00:07:22,430
‫ancora qui, e possiamo anche usarlo.

149
00:07:22,430 --> 00:07:23,813
‫Ok, quindi è ancora tutto

150
00:07:27,820 --> 00:07:30,980
‫lì, il che significa che ora siamo pronti per passare al prossimo video.

