﻿1
00:00:01,180 --> 00:00:02,570
‫-: Ben tornato.

2
00:00:02,570 --> 00:00:05,269
‫Spero che tu ti stia divertendo finora in questa sezione.

3
00:00:05,269 --> 00:00:08,429
‫So di esserlo e quindi ora continuiamo

4
00:00:08,429 --> 00:00:12,683
‫a muoverci e impariamo come aggiornare i documenti con Mongodb.

5
00:00:14,720 --> 00:00:17,087
‫Quindi, tornando alla nostra mongoshell,

6
00:00:17,087 --> 00:00:20,807
‫usiamo db. tour. updateOne.

7
00:00:23,884 --> 00:00:25,150
‫Bene?

8
00:00:25,150 --> 00:00:28,050
‫Quindi è simile a . insertone che abbiamo usato

9
00:00:28,050 --> 00:00:29,760
‫per creare un nuovo documento.

10
00:00:29,760 --> 00:00:32,430
‫E ricorda come abbiamo anche avuto . insertmany e

11
00:00:32,430 --> 00:00:35,120
‫quindi abbiamo anche . updatemolti.

12
00:00:35,120 --> 00:00:37,640
‫Ora come fa. updatemolti lavori?

13
00:00:37,640 --> 00:00:39,776
‫Bene, prima dobbiamo selezionare

14
00:00:39,776 --> 00:00:42,992
‫quali documenti vogliamo effettivamente aggiornare e, in secondo

15
00:00:42,992 --> 00:00:46,460
‫luogo, dobbiamo passare i dati che dovrebbero essere aggiornati.

16
00:00:46,460 --> 00:00:49,277
‫Quindi il primo argomento è fondamentalmente un

17
00:00:49,277 --> 00:00:52,120
‫oggetto filtro, proprio come abbiamo imparato nell'ultima lezione.

18
00:00:52,120 --> 00:00:54,286
‫Quindi fondamentalmente abbiamo bisogno di

19
00:00:54,286 --> 00:00:57,510
‫interrogare i documenti che vogliamo aggiornare e iniziamo con

20
00:00:57,510 --> 00:01:00,012
‫questo iniziando in un modo molto semplice.

21
00:01:00,012 --> 00:01:02,150
‫Quindi selezionerò solo in base

22
00:01:02,150 --> 00:01:03,150
‫al nome

23
00:01:05,230 --> 00:01:06,623
‫The Snow Adventure.

24
00:01:08,890 --> 00:01:09,723
‫Bene?

25
00:01:09,723 --> 00:01:11,935
‫Quindi questo è il mio oggetto

26
00:01:11,935 --> 00:01:15,690
‫filtro molto semplice, quindi specificando il tour che voglio aggiornare

27
00:01:15,690 --> 00:01:17,500
‫E ora il secondo

28
00:01:17,500 --> 00:01:21,120
‫oggetto che devo specificare è ciò che voglio effettivamente aggiornare.

29
00:01:21,120 --> 00:01:24,930
‫Quindi un altro oggetto qui e poi chiudiamo la funzione.

30
00:01:24,930 --> 00:01:28,500
‫E quindi qui dobbiamo usare l'operatore set.

31
00:01:28,500 --> 00:01:31,455
‫Quindi, di nuovo, funziona utilizzando gli operatori

32
00:01:31,455 --> 00:01:35,820
‫proprio come in queste query complesse che abbiamo visto nell'ultimo video.

33
00:01:35,820 --> 00:01:39,342
‫Quindi set e poi dobbiamo creare ancora un

34
00:01:39,342 --> 00:01:43,280
‫altro oggetto e infine in questo possiamo specificare la proprietà

35
00:01:43,280 --> 00:01:47,013
‫che vogliamo aggiornare e il valore a cui vogliamo impostarlo.

36
00:01:48,140 --> 00:01:49,792
‫Quindi, in questo caso,

37
00:01:49,792 --> 00:01:53,403
‫ciò che vogliamo fare è impostare il prezzo a 597.

38
00:01:54,600 --> 00:01:55,433
‫Tutto ok?

39
00:01:55,433 --> 00:01:58,710
‫Quindi questo era 497 e ora lo

40
00:01:58,710 --> 00:02:01,272
‫stiamo praticamente aumentando a 597.

41
00:02:01,272 --> 00:02:02,430
‫Tutto ok?

42
00:02:02,430 --> 00:02:06,380
‫Quindi premiamo Invio ed è quindi aggiornato, il nostro tour.

43
00:02:06,380 --> 00:02:08,651
‫Ora, se questa query qui avrebbe

44
00:02:08,651 --> 00:02:10,778
‫trovato corrispondenza con più documenti.

45
00:02:10,778 --> 00:02:13,034
‫Non posso selezionarlo per qualche motivo,

46
00:02:13,034 --> 00:02:14,590
‫ma puoi vederlo.

47
00:02:14,590 --> 00:02:16,656
‫Quindi, se questa query che

48
00:02:16,656 --> 00:02:19,710
‫abbiamo fatto qui avesse selezionato più documenti, solo

49
00:02:19,710 --> 00:02:22,220
‫il primo sarebbe stato aggiornato perché stavamo

50
00:02:22,220 --> 00:02:24,091
‫usando . updatemain.

51
00:02:24,091 --> 00:02:26,566
‫E quindi se sappiamo già in anticipo che la

52
00:02:26,566 --> 00:02:29,020
‫nostra query corrisponderà a più documenti, allora dovremmo

53
00:02:29,020 --> 00:02:30,900
‫usare . updatemolti e

54
00:02:30,900 --> 00:02:32,430
‫non. aggiornamento.

55
00:02:32,430 --> 00:02:33,263
‫Bene?

56
00:02:33,263 --> 00:02:35,380
‫Ora, solo per mostrarti che

57
00:02:35,380 --> 00:02:38,560
‫ha funzionato davvero, diamo un'occhiata a tutti i documenti.

58
00:02:38,560 --> 00:02:43,560
‫Quindi db. tour. trovare e, infatti, abbiamo

59
00:02:44,550 --> 00:02:46,650
‫The Snow Adventure qui con

60
00:02:46,650 --> 00:02:48,140
‫il nuovo prezzo.

61
00:02:48,140 --> 00:02:48,973
‫Grande.

62
00:02:48,973 --> 00:02:52,390
‫Quindi abbiamo aggiornato una proprietà che già esisteva.

63
00:02:52,390 --> 00:02:55,280
‫Quindi il prezzo era già lì e

64
00:02:55,280 --> 00:02:58,590
‫lo abbiamo semplicemente impostato su un nuovo valore, ma

65
00:02:58,590 --> 00:03:02,500
‫possiamo anche creare nuove proprietà e impostarle su nuovi valori, ovviamente.

66
00:03:02,500 --> 00:03:04,930
‫E in realtà funziona allo stesso modo, ma

67
00:03:04,930 --> 00:03:06,870
‫lascia che te lo mostri comunque.

68
00:03:06,870 --> 00:03:09,740
‫E quello che voglio fare qui è trovare tour

69
00:03:09,740 --> 00:03:12,734
‫premium e dare loro un campo premium impostato su true.

70
00:03:12,734 --> 00:03:15,740
‫Quindi quali sono i nostri tour premium?

71
00:03:15,740 --> 00:03:18,453
‫Bene, facciamo prima una ricerca.

72
00:03:19,290 --> 00:03:21,960
‫Quindi, solo per specificare quella query.

73
00:03:21,960 --> 00:03:24,430
‫E in realtà lo abbiamo già fatto prima.

74
00:03:24,430 --> 00:03:27,880
‫Quindi i tour che voglio dovrebbero avere un prezzo maggiore di 500 e

75
00:03:27,880 --> 00:03:32,340
‫una valutazione maggiore o uguale a 4. 8.

76
00:03:32,340 --> 00:03:35,366
‫Quindi questi sono davvero i nostri tour premium,

77
00:03:35,366 --> 00:03:38,040
‫in pratica, quindi davvero quelli che sono

78
00:03:38,040 --> 00:03:39,960
‫più costosi e più apprezzati.

79
00:03:39,960 --> 00:03:43,630
‫Quindi, creare questa query è in realtà abbastanza semplice.

80
00:03:43,630 --> 00:03:47,090
‫E ancora perché in realtà l'abbiamo già fatto prima.

81
00:03:47,090 --> 00:03:49,709
‫Ora quello che voglio che tu faccia qui è mettere

82
00:03:49,709 --> 00:03:51,592
‫in pausa il video e anche

83
00:03:51,592 --> 00:03:54,150
‫se te lo ricordi, digita questa query da solo.

84
00:03:54,150 --> 00:03:56,929
‫E se non te lo ricordi, beh, è ancora meglio, allora

85
00:03:56,929 --> 00:03:58,921
‫puoi mettere in pratica ciò che hai

86
00:03:58,921 --> 00:04:00,202
‫appena imparato nell'ultimo video.

87
00:04:00,202 --> 00:04:01,450
‫Tutto ok?

88
00:04:01,450 --> 00:04:04,001
‫Quindi, per favore, metti in pausa il video qui

89
00:04:04,001 --> 00:04:06,410
‫e prova a fare questa domanda da solo.

90
00:04:06,410 --> 00:04:08,640
‫Quindi di nuovo vogliamo che il prezzo sia maggiore di 500

91
00:04:08,640 --> 00:04:11,983
‫e il rating maggiore o uguale a 4. 8.

92
00:04:18,970 --> 00:04:20,950
‫Ok, spero che tu l'abbia fatto.

93
00:04:20,950 --> 00:04:23,070
‫E questa è la soluzione.

94
00:04:23,070 --> 00:04:28,070
‫Quindi il prezzo dovrebbe essere maggiore o uguale a 500 e la valutazione dovrebbe

95
00:04:29,533 --> 00:04:34,533
‫essere maggiore o uguale a 4. 8.

96
00:04:39,990 --> 00:04:41,080
‫Bene?

97
00:04:41,080 --> 00:04:43,450
‫E qui impostiamo solo maggiore di che

98
00:04:43,450 --> 00:04:45,200
‫in realtà è lo stesso.

99
00:04:45,200 --> 00:04:47,020
‫Ci darà lo stesso risultato.

100
00:04:47,020 --> 00:04:49,893
‫Ma non importa, facciamo esattamente come ho detto.

101
00:04:50,830 --> 00:04:54,310
‫E quindi, giusto per essere sicuri, vediamo se otteniamo il

102
00:04:54,310 --> 00:04:57,491
‫risultato perfetto e in effetti questo è il

103
00:04:57,491 --> 00:05:01,000
‫tour che ha questo prezzo premium e allo stesso tempo

104
00:05:01,000 --> 00:05:02,220
‫questo rating premium.

105
00:05:02,220 --> 00:05:03,570
‫Bene?

106
00:05:03,570 --> 00:05:06,500
‫E in questo caso, abbiamo un solo risultato

107
00:05:06,500 --> 00:05:09,230
‫ma, ovviamente, potremmo avere più risultati.

108
00:05:09,230 --> 00:05:12,310
‫E quindi ora usiamo . updatemolti.

109
00:05:12,310 --> 00:05:15,220
‫Quindi db. tour. updatemolti.

110
00:05:19,443 --> 00:05:22,670
‫E quindi il nostro oggetto filtro che vogliamo è questo.

111
00:05:22,670 --> 00:05:24,320
‫Quindi lo sto solo copiando da qui.

112
00:05:26,220 --> 00:05:28,739
‫Quindi questo è il primo argomento e

113
00:05:28,739 --> 00:05:32,100
‫poi il secondo è in realtà ciò che vogliamo aggiornare.

114
00:05:32,100 --> 00:05:33,300
‫Ricordati che?

115
00:05:33,300 --> 00:05:36,270
‫Quindi di nuovo usiamo l'operatore set

116
00:05:36,270 --> 00:05:40,287
‫e poi diciamo che vogliamo che premium sia vero.

117
00:05:40,287 --> 00:05:41,200
‫Bene?

118
00:05:41,200 --> 00:05:43,892
‫E quindi questa volta creiamo effettivamente un nuovo campo

119
00:05:43,892 --> 00:05:45,822
‫qui e lo impostiamo su true.

120
00:05:45,822 --> 00:05:46,713
‫Bene?

121
00:05:46,713 --> 00:05:50,130
‫Dagli un salvataggio e in realtà ci mancava qualche

122
00:05:50,130 --> 00:05:53,787
‫parentesi di chiusura e quindi non possiamo davvero tornare indietro,

123
00:05:53,787 --> 00:05:56,353
‫quindi fammi provare ad aggiungerlo qui.

124
00:05:57,580 --> 00:06:00,810
‫Ma questo non funziona davvero, ma comunque

125
00:06:00,810 --> 00:06:03,684
‫non importa, possiamo semplicemente tornare all'ultimo

126
00:06:03,684 --> 00:06:06,490
‫comando e quindi correggerlo.

127
00:06:06,490 --> 00:06:09,190
‫Quindi questo è il tutore che ci mancava,

128
00:06:09,190 --> 00:06:11,213
‫quindi chiudilo e ci siamo.

129
00:06:11,213 --> 00:06:16,213
‫Quindi db. tour. trova solo per controllarlo ora.

130
00:06:18,530 --> 00:06:21,100
‫E qui abbiamo l'ultimo che ora

131
00:06:21,100 --> 00:06:23,300
‫ha premium impostato su true.

132
00:06:23,300 --> 00:06:25,797
‫E ancora, questo era l'unico documento che

133
00:06:25,797 --> 00:06:30,000
‫corrispondeva alla nostra query e quindi è l'unico che ha ottenuto

134
00:06:30,000 --> 00:06:31,365
‫questa nuova

135
00:06:31,365 --> 00:06:34,120
‫proprietà premium qui, ma se ci fossero più

136
00:06:34,120 --> 00:06:37,200
‫documenti che corrispondono a quella query, allora tutti

137
00:06:37,200 --> 00:06:39,100
‫avrebbero ottenuto questo premium true.

138
00:06:39,100 --> 00:06:39,933
‫Bene?

139
00:06:39,933 --> 00:06:42,680
‫Ecco perché abbiamo usato . updatemany e ricorda

140
00:06:42,680 --> 00:06:45,463
‫se abbiamo usato . updateone quindi viene

141
00:06:45,463 --> 00:06:48,460
‫aggiornato solo il primo documento che corrisponde alla query.

142
00:06:48,460 --> 00:06:49,293
‫Bene?

143
00:06:49,293 --> 00:06:53,110
‫Quindi è così che aggiorniamo i documenti almeno in parte così

144
00:06:53,110 --> 00:06:57,210
‫con questo . updatemolti o . updateone di

145
00:06:57,210 --> 00:07:00,440
‫solito aggiorniamo solo parti del documento, ma

146
00:07:00,440 --> 00:07:03,710
‫possiamo anche sostituire completamente il contenuto del documento.

147
00:07:03,710 --> 00:07:05,870
‫E per questo usiamo . sostituire uno.

148
00:07:05,870 --> 00:07:08,100
‫Non ho intenzione di farlo,

149
00:07:08,100 --> 00:07:11,360
‫ma per completezza ho voluto mostrarlo anche a te.

150
00:07:11,360 --> 00:07:16,360
‫Quindi db. tour. sostituire uno o . sostituiscine molti, ok?

151
00:07:17,570 --> 00:07:19,700
‫E così qui, proprio come prima, passeresti

152
00:07:19,700 --> 00:07:22,740
‫la query di ricerca e poi i nuovi dati che

153
00:07:22,740 --> 00:07:24,763
‫vuoi inserire in questo documento.

154
00:07:24,763 --> 00:07:27,633
‫Va bene, non lo farò qui.

155
00:07:29,180 --> 00:07:31,630
‫Ma ora sai che esiste anche.

156
00:07:31,630 --> 00:07:34,645
‫E così abbiamo già completato tre delle

157
00:07:34,645 --> 00:07:36,610
‫nostre operazioni corrette.

158
00:07:36,610 --> 00:07:40,063
‫Quindi creazione, lettura e aggiornamento e, come

159
00:07:40,063 --> 00:07:43,000
‫puoi intuire, nel prossimo video parleremo

160
00:07:43,000 --> 00:07:44,853
‫dell'eliminazione dei documenti.

