﻿1
00:00:01,110 --> 00:00:03,330
‫Narratore: In questo video parleremo del

2
00:00:03,330 --> 00:00:06,180
‫secondo tipo di middleware Mongoose, che è

3
00:00:06,180 --> 00:00:08,133
‫il middleware di query.

4
00:00:09,690 --> 00:00:12,169
‫E, come dice il nome,

5
00:00:12,169 --> 00:00:15,720
‫il middleware di query ci consente di eseguire funzioni prima

6
00:00:15,720 --> 00:00:18,360
‫o dopo l'esecuzione di una determinata query.

7
00:00:18,360 --> 00:00:21,020
‫E quindi ora aggiungiamo un hook pre-find,

8
00:00:21,020 --> 00:00:23,730
‫quindi in pratica un middleware che verrà eseguito

9
00:00:23,730 --> 00:00:26,493
‫prima che venga eseguita qualsiasi query di ricerca.

10
00:00:29,780 --> 00:00:31,740
‫Quindi aggiungiamo un altro commento qui.

11
00:00:31,740 --> 00:00:35,283
‫Quindi questo è il middleware delle query.

12
00:00:36,270 --> 00:00:38,760
‫E, naturalmente, funziona in modo molto simile

13
00:00:38,760 --> 00:00:39,763
‫a prima.

14
00:00:41,320 --> 00:00:43,950
‫Quindi il tourSchema, e poi pre, e

15
00:00:43,950 --> 00:00:46,280
‫qui definiamo il gancio, che sarà

16
00:00:46,280 --> 00:00:47,557
‫"trova.

17
00:00:50,110 --> 00:00:52,900
‫"Quindi, funzione, e ancora una volta,

18
00:00:52,900 --> 00:00:55,540
‫abbiamo accesso alla funzione successiva.

19
00:00:55,540 --> 00:00:57,870
‫E in effetti, iniziamo chiamandolo

20
00:00:57,870 --> 00:01:00,880
‫qui alla fine in modo da non dimenticarlo.

21
00:01:00,880 --> 00:01:03,310
‫Ok, e quindi vedi, che

22
00:01:03,310 --> 00:01:05,680
‫sembra esattamente come l'altro middleware,

23
00:01:05,680 --> 00:01:07,170
‫l'altro pre-hook.

24
00:01:07,170 --> 00:01:10,320
‫L'unica differenza qui è davvero questo hook di ricerca, che

25
00:01:10,320 --> 00:01:12,360
‫renderà questo middleware di query e

26
00:01:12,360 --> 00:01:14,320
‫non il middleware di documenti.

27
00:01:14,320 --> 00:01:15,153
‫Tutto ok?

28
00:01:15,153 --> 00:01:17,040
‫Quindi, la grande differenza qui è

29
00:01:17,040 --> 00:01:20,910
‫che la parola chiave this ora punterà alla query corrente e

30
00:01:20,910 --> 00:01:22,700
‫non al documento corrente,

31
00:01:22,700 --> 00:01:25,580
‫perché qui non stiamo realmente elaborando alcun documento.

32
00:01:25,580 --> 00:01:28,370
‫Stiamo davvero elaborando una query.

33
00:01:28,370 --> 00:01:29,203
‫Bene?

34
00:01:29,203 --> 00:01:32,160
‫E il caso d'uso che faremo qui è questo.

35
00:01:32,160 --> 00:01:34,380
‫Quindi supponiamo di poter avere

36
00:01:34,380 --> 00:01:36,670
‫tour segreti nel nostro database, come

37
00:01:36,670 --> 00:01:39,760
‫per i tour offerti solo internamente, o per un

38
00:01:39,760 --> 00:01:43,160
‫gruppo molto piccolo, tipo VIP, di persone di cui il

39
00:01:43,160 --> 00:01:45,420
‫pubblico non dovrebbe essere a conoscenza.

40
00:01:45,420 --> 00:01:47,327
‫Ora, poiché questi tour sono

41
00:01:47,327 --> 00:01:51,080
‫segreti, non vogliamo che i tour segreti appaiano mai negli

42
00:01:51,080 --> 00:01:52,510
‫output dei risultati.

43
00:01:52,510 --> 00:01:53,510
‫Destra?

44
00:01:53,510 --> 00:01:56,950
‫Quindi quello che faremo è creare un campo tour

45
00:01:56,950 --> 00:02:00,780
‫segreto e quindi interrogare solo i tour che non sono segreti.

46
00:02:00,780 --> 00:02:01,690
‫Tutto ok?

47
00:02:01,690 --> 00:02:02,763
‫Quindi, facciamolo.

48
00:02:04,160 --> 00:02:07,103
‫Inizia aggiungendo qui e fallo alla fine.

49
00:02:11,447 --> 00:02:15,114
‫secretTour, quindi il tipo dovrebbe essere un booleano, e penso che

50
00:02:16,560 --> 00:02:17,980
‫questa sia la prima

51
00:02:17,980 --> 00:02:19,710
‫volta che usiamo effettivamente un

52
00:02:19,710 --> 00:02:22,030
‫booleano, quindi questo sarebbe vero o falso.

53
00:02:22,030 --> 00:02:23,852
‫Quindi, se è vero, allora

54
00:02:23,852 --> 00:02:25,770
‫è un tour segreto e non

55
00:02:25,770 --> 00:02:29,133
‫vogliamo che venga visualizzato e, per impostazione predefinita, è falso.

56
00:02:30,570 --> 00:02:31,403
‫Tutto ok?

57
00:02:31,403 --> 00:02:35,000
‫E quindi, in fondo, di solito i tour non sono segreti.

58
00:02:35,000 --> 00:02:35,950
‫Bene.

59
00:02:35,950 --> 00:02:39,740
‫Successivamente, andiamo avanti e creiamo un tour segreto in

60
00:02:40,900 --> 00:02:44,610
‫modo da poterlo provare a usarlo, ok?

61
00:02:44,610 --> 00:02:49,610
‫Quindi chiamiamo questo qui il Super Secret Tour.

62
00:02:50,530 --> 00:02:51,880
‫Tutto questo non

63
00:02:54,130 --> 00:02:58,603
‫ha importanza, e lasciatemi dire che secretTour è davvero vero.

64
00:02:59,700 --> 00:03:01,020
‫Bene?

65
00:03:01,020 --> 00:03:02,443
‫Salvalo qui...

66
00:03:03,480 --> 00:03:05,980
‫E, uh, dov'è quello?

67
00:03:05,980 --> 00:03:08,520
‫Sì. Quindi secretTour è vero.

68
00:03:08,520 --> 00:03:10,750
‫E ora andiamo effettivamente su Compass

69
00:03:10,750 --> 00:03:13,783
‫ed eliminiamo tutti questi altri tour che abbiamo fatto lì.

70
00:03:15,600 --> 00:03:17,483
‫Allora, ricarichiamo questo...

71
00:03:18,890 --> 00:03:22,813
‫E poi, quaggiù, dovremmo avere...

72
00:03:24,470 --> 00:03:27,890
‫Sì, questo tour di prova qui, possiamo cancellarlo.

73
00:03:27,890 --> 00:03:29,613
‫Un altro giro di prova...

74
00:03:30,740 --> 00:03:32,540
‫Quindi tutto questo disordine qui,

75
00:03:33,730 --> 00:03:35,530
‫in pratica, vogliamo liberarcene.

76
00:03:35,530 --> 00:03:37,600
‫Conserviamo solo il secretTour qui

77
00:03:37,600 --> 00:03:40,010
‫in modo che ora possiamo sperimentarlo.

78
00:03:40,010 --> 00:03:43,170
‫Ok, e qui vedi che secretTour è impostato su

79
00:03:43,170 --> 00:03:44,530
‫true, mentre gli

80
00:03:44,530 --> 00:03:46,180
‫altri, ovviamente, non hanno

81
00:03:46,180 --> 00:03:48,110
‫questo attributo, perché, quando li abbiamo

82
00:03:48,110 --> 00:03:49,993
‫creati, non avevamo ancora il secretTour.

83
00:03:51,780 --> 00:03:54,060
‫Quindi, ora, appena prima di

84
00:03:54,060 --> 00:03:57,539
‫iniziare, di nuovo a Postman, confermiamo che, in effetti,

85
00:03:57,539 --> 00:04:01,230
‫è l'ultimo tour qui, e in realtà non è l'ultimo

86
00:04:01,230 --> 00:04:02,660
‫tour, quindi dov'è?

87
00:04:02,660 --> 00:04:03,570
‫Oh, è il primo.

88
00:04:03,570 --> 00:04:05,950
‫Quindi qui abbiamo il Super Secret Tour,

89
00:04:05,950 --> 00:04:07,483
‫ovviamente, impostato su true.

90
00:04:08,360 --> 00:04:12,010
‫Tutto ok? Quindi, tornando indietro ora,

91
00:04:12,010 --> 00:04:13,880
‫eseguiamo la query come abbiamo

92
00:04:13,880 --> 00:04:15,580
‫appena detto all'inizio.

93
00:04:15,580 --> 00:04:18,350
‫Quindi, di nuovo, tieni presente che questo qui

94
00:04:18,350 --> 00:04:20,780
‫ora è un oggetto query, ok?

95
00:04:20,780 --> 00:04:23,230
‫E così possiamo concatenare tutti i metodi

96
00:04:23,230 --> 00:04:25,250
‫che abbiamo per le query.

97
00:04:25,250 --> 00:04:29,220
‫E quindi questo aggiunge semplicemente un metodo di ricerca

98
00:04:29,220 --> 00:04:31,260
‫qui, quindi in pratica

99
00:04:31,260 --> 00:04:36,070
‫seleziona tutti i documenti in cui secretTour non è vero, ok?

100
00:04:36,070 --> 00:04:40,540
‫Quindi tour segreto...

101
00:04:40,540 --> 00:04:43,530
‫E poi non è uguale a vero.

102
00:04:43,530 --> 00:04:45,710
‫E lo sto facendo così

103
00:04:45,710 --> 00:04:49,170
‫perché, ricorda, gli editor non sono attualmente impostati su false.

104
00:04:49,170 --> 00:04:51,120
‫Semplicemente non hanno questo attributo.

105
00:04:52,090 --> 00:04:53,100
‫Tutto ok?

106
00:04:53,100 --> 00:04:56,210
‫Ok, allora proviamolo di nuovo adesso.

107
00:04:56,210 --> 00:04:58,263
‫E quindi ora dovrebbe essere sparito qui.

108
00:04:59,220 --> 00:05:01,483
‫E infatti, non è più qui.

109
00:05:02,320 --> 00:05:05,570
‫Ok, abbiamo tutti i tour che non sono segreti, ma

110
00:05:05,570 --> 00:05:07,290
‫non il tour segreto.

111
00:05:07,290 --> 00:05:08,943
‫E ora vedo che

112
00:05:08,943 --> 00:05:11,370
‫in realtà abbiamo secretTour impostato su

113
00:05:11,370 --> 00:05:13,850
‫false qui, ma in realtà è solo

114
00:05:13,850 --> 00:05:17,913
‫una cosa di Mangusta, quindi diamo un'altra occhiata qui a Compass

115
00:05:18,830 --> 00:05:19,753
‫e ricarichiamo.

116
00:05:20,800 --> 00:05:22,920
‫E quindi vedi che, in realtà,

117
00:05:22,920 --> 00:05:25,450
‫nel database, secretTour non è impostato su false.

118
00:05:25,450 --> 00:05:27,890
‫Mongoose lo sta semplicemente aggiungendo perché lo abbiamo

119
00:05:27,890 --> 00:05:30,478
‫nel nostro schema come predefinito e non è nel database.

120
00:05:30,478 --> 00:05:34,360
‫E quindi è fondamentalmente, quindi, metterlo lì comunque.

121
00:05:34,360 --> 00:05:37,150
‫Quindi vedi che in realtà abbiamo 11

122
00:05:37,150 --> 00:05:40,710
‫documenti, ma poi qui in Postman otteniamo solo dieci risultati.

123
00:05:40,710 --> 00:05:41,600
‫E questo,

124
00:05:41,600 --> 00:05:45,360
‫ovviamente, perché il nostro tour segreto è sostanzialmente filtrato.

125
00:05:45,360 --> 00:05:46,193
‫Bene?

126
00:05:46,193 --> 00:05:47,910
‫Quindi, cerchiamo di capire di

127
00:05:47,910 --> 00:05:49,320
‫nuovo cosa succede veramente.

128
00:05:49,320 --> 00:05:51,730
‫Quindi non appena raggiungiamo questa rotta,

129
00:05:51,730 --> 00:05:53,170
‫qui, usando il

130
00:05:53,170 --> 00:05:55,313
‫metodo get, vediamo cosa succede.

131
00:05:57,520 --> 00:06:00,340
‫Quindi, quello che succede è che creiamo una

132
00:06:00,340 --> 00:06:02,700
‫query usando tour. trovare.

133
00:06:02,700 --> 00:06:03,533
‫Bene?

134
00:06:03,533 --> 00:06:05,900
‫E poi, ovviamente, concateniamo tutti questi

135
00:06:05,900 --> 00:06:08,660
‫metodi ad esso come abbiamo detto in una

136
00:06:08,660 --> 00:06:09,790
‫delle ultime

137
00:06:09,790 --> 00:06:13,770
‫lezioni, e poi, alla fine, eseguiamo quella query qui usando wait.

138
00:06:13,770 --> 00:06:15,280
‫Destra? Ricordati che?

139
00:06:15,280 --> 00:06:17,460
‫Quindi è qui che eseguiamo la query.

140
00:06:17,460 --> 00:06:20,030
‫Ma, prima che venga

141
00:06:20,030 --> 00:06:24,790
‫effettivamente eseguito, viene eseguito il nostro middleware pre-trova qui.

142
00:06:24,790 --> 00:06:25,623
‫Bene?

143
00:06:25,623 --> 00:06:27,873
‫E viene eseguito perché è

144
00:06:27,873 --> 00:06:30,270
‫find, proprio come abbiamo usato qui.

145
00:06:30,270 --> 00:06:31,103
‫Destra?

146
00:06:31,103 --> 00:06:33,020
‫Quindi, stiamo creando una query

147
00:06:33,020 --> 00:06:36,570
‫di ricerca e quindi, quindi, viene eseguito l'hook di ricerca.

148
00:06:36,570 --> 00:06:39,420
‫Quindi, qui, poiché è un middleware di query, la

149
00:06:39,420 --> 00:06:41,630
‫parola chiave this punta alla query.

150
00:06:41,630 --> 00:06:43,670
‫Quindi, a quella query, possiamo

151
00:06:43,670 --> 00:06:46,230
‫concatenare un altro metodo di ricerca, giusto?

152
00:06:46,230 --> 00:06:49,160
‫E lì dentro, filtriamo il secretTour usando

153
00:06:49,160 --> 00:06:50,930
‫questo oggetto filtro.

154
00:06:50,930 --> 00:06:51,763
‫Bene?

155
00:06:51,763 --> 00:06:54,280
‫Quindi in pratica dicendo che vogliamo solo

156
00:06:54,280 --> 00:06:57,450
‫tour in cui il secretTour non è uguale al vero.

157
00:06:57,450 --> 00:06:59,120
‫E in effetti funzionerebbe allo

158
00:06:59,120 --> 00:07:00,979
‫stesso modo se dicessimo semplicemente qui,

159
00:07:00,979 --> 00:07:03,790
‫falso, ma lo trovo più pulito in questo modo.

160
00:07:03,790 --> 00:07:07,660
‫Ok, ora c'è solo una cosa che dobbiamo correggere, perché in

161
00:07:07,660 --> 00:07:10,140
‫questo momento questo middleware è in

162
00:07:10,140 --> 00:07:13,010
‫esecuzione per find, ma non per find1.

163
00:07:13,010 --> 00:07:13,843
‫Bene?

164
00:07:13,843 --> 00:07:17,023
‫Quindi lascia che ti mostri il problema che potremmo avere con questo.

165
00:07:18,270 --> 00:07:23,120
‫Quindi, prendiamo l'ID del tour segreto.

166
00:07:23,120 --> 00:07:24,570
‫Quindi abbiamo il

167
00:07:24,570 --> 00:07:29,570
‫tour segreto qui, e questo è il suo ID, e quindi se facciamo il

168
00:07:31,370 --> 00:07:35,040
‫tour, allora questo dovrebbe darci il tour super segreto qui.

169
00:07:35,040 --> 00:07:35,873
‫Destra?

170
00:07:35,873 --> 00:07:37,383
‫E quindi vedi che

171
00:07:37,383 --> 00:07:39,470
‫quel filtro che abbiamo appena creato

172
00:07:39,470 --> 00:07:41,630
‫nel middleware non funziona per questo comando.

173
00:07:41,630 --> 00:07:42,463
‫Bene?

174
00:07:42,463 --> 00:07:45,640
‫E questo perché la funzione handle

175
00:07:45,640 --> 00:07:47,360
‫per questo percorso,

176
00:07:47,360 --> 00:07:51,560
‫come potresti ricordare, utilizza findByID, che, dietro le quinte,

177
00:07:51,560 --> 00:07:55,290
‫è find1, e quindi è diverso da find.

178
00:07:55,290 --> 00:07:56,242
‫Tutto ok?

179
00:07:56,242 --> 00:08:01,242
‫Quindi, dobbiamo specificare lo stesso middleware anche per find1.

180
00:08:01,750 --> 00:08:03,610
‫Ora, ci sono due

181
00:08:03,610 --> 00:08:06,760
‫modi per farlo, e il primo sarebbe

182
00:08:06,760 --> 00:08:11,363
‫semplicemente andare avanti, copiare questo codice e poi mettere find1 qui.

183
00:08:12,210 --> 00:08:14,210
‫Ma non va

184
00:08:14,210 --> 00:08:16,970
‫bene, quindi useremo un'espressione regolare.

185
00:08:16,970 --> 00:08:20,530
‫Ed è abbastanza facile, e quindi...

186
00:08:20,530 --> 00:08:22,700
‫E fammi semplicemente duplicare questo

187
00:08:22,700 --> 00:08:24,013
‫qui, commentare

188
00:08:25,495 --> 00:08:28,360
‫questo pezzo e poi, ricorda, un'espressione regolare

189
00:08:28,360 --> 00:08:30,550
‫inizia e finisce con una barra.

190
00:08:30,550 --> 00:08:32,500
‫E poi qui, quello che voglio

191
00:08:32,500 --> 00:08:34,437
‫dire è che questo middleware

192
00:08:34,437 --> 00:08:36,510
‫dovrebbe essere eseguito non solo per

193
00:08:36,510 --> 00:08:40,450
‫find, ma per tutti i comandi che iniziano con il nome find.

194
00:08:40,450 --> 00:08:41,283
‫Bene?

195
00:08:41,283 --> 00:08:45,330
‫Quindi, trova e trova1, e anche trova1 ed elimina, trova1

196
00:08:45,330 --> 00:08:46,830
‫e aggiorna, e

197
00:08:46,830 --> 00:08:49,400
‫quindi tutti questi ora attiveranno effettivamente questa

198
00:08:49,400 --> 00:08:51,550
‫funzione middleware che abbiamo qui.

199
00:08:52,760 --> 00:08:53,890
‫Tutto ok?

200
00:08:53,890 --> 00:08:55,580
‫Quindi, non ce n'è bisogno.

201
00:08:55,580 --> 00:08:58,510
‫Questa espressione regolare qui è decisamente migliore.

202
00:08:58,510 --> 00:08:59,878
‫Quindi di nuovo, questo

203
00:08:59,878 --> 00:09:03,000
‫qui significa semplicemente tutte le stringhe che iniziano con find.

204
00:09:03,000 --> 00:09:05,140
‫E in effetti, visto che siamo qui,

205
00:09:05,140 --> 00:09:07,883
‫lascia che ti mostri di nuovo la documentazione di Mongoose.

206
00:09:08,970 --> 00:09:13,240
‫Quindi, quando andremo qui, al middleware in queste guide, avrai una

207
00:09:13,240 --> 00:09:15,670
‫panoramica di tutto il middleware.

208
00:09:15,670 --> 00:09:16,557
‫Ad esempio,

209
00:09:16,557 --> 00:09:19,041
‫il middleware dei documenti è quello di cui abbiamo

210
00:09:19,041 --> 00:09:21,640
‫parlato prima, che viene eseguito, ad esempio, al salvataggio.

211
00:09:21,640 --> 00:09:23,600
‫Ma in effetti, il middleware dei

212
00:09:23,600 --> 00:09:26,510
‫documenti può anche essere eseguito per cose come la rimozione.

213
00:09:26,510 --> 00:09:27,460
‫Tutto ok?

214
00:09:27,460 --> 00:09:28,840
‫O per convalidare.

215
00:09:28,840 --> 00:09:31,220
‫Ok, ma non ho parlato di questi

216
00:09:31,220 --> 00:09:34,750
‫perché di solito quello che usiamo sempre è solo per salvare.

217
00:09:34,750 --> 00:09:37,590
‫Ora, il middleware di query può essere eseguito per

218
00:09:37,590 --> 00:09:39,340
‫tutte queste funzioni di query.

219
00:09:39,340 --> 00:09:41,980
‫Quindi find, come abbiamo appena specificato,

220
00:09:41,980 --> 00:09:43,780
‫e ora, con la nostra

221
00:09:43,780 --> 00:09:45,520
‫espressione regolare, verrà

222
00:09:45,520 --> 00:09:47,270
‫eseguito anche per find1,

223
00:09:48,768 --> 00:09:50,518
‫findOneAndDelete, findOneAndRemove e findOneAndUpdate.

224
00:09:51,850 --> 00:09:55,130
‫Comunque, tornando a Postman ora,

225
00:09:55,130 --> 00:09:58,650
‫questo dovrebbe aver risolto la situazione qui.

226
00:09:58,650 --> 00:10:01,210
‫Quindi, quando eseguiamo questa query, non

227
00:10:01,210 --> 00:10:03,040
‫dovrebbe avere risultati.

228
00:10:03,040 --> 00:10:04,800
‫E infatti, non lo fa.

229
00:10:04,800 --> 00:10:08,220
‫Perché, ricorda, stavamo cercando di fare un tour segreto.

230
00:10:08,220 --> 00:10:10,370
‫Quindi il tour con questo ID qui

231
00:10:10,370 --> 00:10:12,520
‫è segreto, ma non vogliamo mai che

232
00:10:12,520 --> 00:10:14,380
‫secretTours appaia in nessuna query.

233
00:10:14,380 --> 00:10:17,283
‫Ed ecco perché, in questo momento, non otteniamo risultati.

234
00:10:18,190 --> 00:10:19,023
‫Bene?

235
00:10:19,023 --> 00:10:20,510
‫Quindi ora funziona.

236
00:10:20,510 --> 00:10:22,160
‫Non salvare questo

237
00:10:22,160 --> 00:10:24,230
‫e ora, torna al nostro codice.

238
00:10:24,230 --> 00:10:25,900
‫Ora specifichiamo anche

239
00:10:25,900 --> 00:10:28,333
‫un post middleware per find.

240
00:10:30,140 --> 00:10:35,140
‫Quindi, tourSchema, e poi, proprio come prima, post, e poi usiamo di nuovo

241
00:10:35,820 --> 00:10:38,510
‫la nostra espressione regolare qui per qualsiasi

242
00:10:38,510 --> 00:10:41,113
‫cosa che inizi con find.

243
00:10:43,340 --> 00:10:45,240
‫E poi solo una

244
00:10:45,240 --> 00:10:47,400
‫normale funzione, e poi qui, nel middleware

245
00:10:47,400 --> 00:10:49,810
‫post-find, otteniamo effettivamente l'accesso a tutti i

246
00:10:49,810 --> 00:10:51,713
‫documenti che abbiamo restituito dalla query.

247
00:10:52,680 --> 00:10:54,573
‫Quindi chiamiamolo Docs.

248
00:10:55,680 --> 00:10:56,780
‫Tutto ok?

249
00:10:56,780 --> 00:10:59,350
‫Quindi, ricorda che questo middleware verrà eseguito

250
00:10:59,350 --> 00:11:02,280
‫dopo che la query è già stata eseguita.

251
00:11:02,280 --> 00:11:04,100
‫E così, quindi, può avere accesso

252
00:11:04,100 --> 00:11:06,120
‫ai documenti che gli sono stati restituiti.

253
00:11:06,120 --> 00:11:07,900
‫Di nuovo, perché quella query

254
00:11:07,900 --> 00:11:10,033
‫è già terminata a questo punto.

255
00:11:11,580 --> 00:11:15,510
‫Quindi registriamo questi documenti sulla console,

256
00:11:15,510 --> 00:11:16,343
‫quindi

257
00:11:16,343 --> 00:11:20,360
‫docs, ma voglio anche fare qualcos'altro qui.

258
00:11:20,360 --> 00:11:22,710
‫Quindi, in pratica, creiamo una specie

259
00:11:22,710 --> 00:11:25,150
‫di orologio per misurare il tempo necessario

260
00:11:25,150 --> 00:11:27,163
‫per eseguire la query corrente.

261
00:11:28,120 --> 00:11:28,953
‫Tutto ok?

262
00:11:28,953 --> 00:11:30,770
‫Allora, come lo faremo?

263
00:11:30,770 --> 00:11:32,680
‫Beh, abbastanza semplice.

264
00:11:32,680 --> 00:11:36,180
‫Possiamo semplicemente impostare una proprietà su questo oggetto, perché

265
00:11:36,180 --> 00:11:39,810
‫questo oggetto query è in realtà solo un oggetto normale.

266
00:11:39,810 --> 00:11:42,570
‫Ovviamente ha accesso a tutti questi metodi, come find,

267
00:11:42,570 --> 00:11:43,760
‫ma possiamo

268
00:11:43,760 --> 00:11:45,020
‫anche usarlo per impostare

269
00:11:45,020 --> 00:11:47,283
‫qualsiasi proprietà che vogliamo su di esso.

270
00:11:48,660 --> 00:11:51,000
‫Quindi, di nuovo, solo un oggetto normale.

271
00:11:51,000 --> 00:11:53,410
‫E quindi qui possiamo dire questo. inizio dovrebbe

272
00:11:53,410 --> 00:11:55,333
‫essere la data corrente.

273
00:11:56,410 --> 00:11:57,243
‫Bene?

274
00:11:57,243 --> 00:11:59,380
‫E quindi questo lo

275
00:11:59,380 --> 00:12:02,150
‫imposterà come l'ora corrente in millisecondi, ok?

276
00:12:02,150 --> 00:12:05,320
‫E quindi, qui, nel middleware post, che verrà

277
00:12:05,320 --> 00:12:08,200
‫eseguito dopo l'esecuzione della query, possiamo

278
00:12:08,200 --> 00:12:10,310
‫sottrarre l'ora corrente meno l'ora

279
00:12:10,310 --> 00:12:11,603
‫di inizio.

280
00:12:14,640 --> 00:12:15,833
‫Quindi consolati. log, query

281
00:12:18,470 --> 00:12:19,583
‫presa e ora

282
00:12:21,240 --> 00:12:22,600
‫la data corrente meno

283
00:12:26,970 --> 00:12:28,073
‫questa.

284
00:12:33,400 --> 00:12:34,423
‫inizio, millisecondi.

285
00:12:35,510 --> 00:12:38,295
‫Ok, salviamolo, quindi proviamo

286
00:12:38,295 --> 00:12:43,295
‫a eseguire una query e vedere i nostri risultati.

287
00:12:45,090 --> 00:12:46,469
‫Bene?

288
00:12:46,469 --> 00:12:48,390
‫Quindi, qui abbiamo tutti i nostri

289
00:12:48,390 --> 00:12:49,713
‫tour, qui abbiamo

290
00:12:50,700 --> 00:12:52,140
‫la console, e chiariamolo.

291
00:12:52,140 --> 00:12:53,740
‫C'è un sacco di roba lì dentro.

292
00:12:55,540 --> 00:12:56,763
‫Richiedi di nuovo,

293
00:12:58,340 --> 00:13:00,480
‫e quindi ecco tutti i risultati.

294
00:13:00,480 --> 00:13:03,210
‫Quindi in pratica questi sono tutti i tour che sono stati trovati,

295
00:13:03,210 --> 00:13:06,490
‫e questo è il risultato di console. log dei documenti.

296
00:13:06,490 --> 00:13:09,890
‫Quindi fondamentalmente i documenti che corrispondevano alla query.

297
00:13:09,890 --> 00:13:13,220
‫Ma ora sono interessato a questa prima console. log, e quindi,

298
00:13:13,220 --> 00:13:17,670
‫qui vediamo "La query ha impiegato 120 millisecondi", quindi questo

299
00:13:17,670 --> 00:13:19,970
‫era fondamentalmente il tempo trascorso

300
00:13:19,970 --> 00:13:22,660
‫dall'inizio, in cui l'abbiamo definito, a

301
00:13:22,660 --> 00:13:26,950
‫dopo che la query è stata eseguita, in questo momento.

302
00:13:26,950 --> 00:13:27,783
‫Tutto bene.

303
00:13:27,783 --> 00:13:29,910
‫E questo è tutto ciò che dovevo

304
00:13:29,910 --> 00:13:31,550
‫mostrarti per ora sul middleware

305
00:13:31,550 --> 00:13:32,680
‫di query, e proprio

306
00:13:32,680 --> 00:13:34,370
‫come prima, ovviamente lo useremo

307
00:13:34,370 --> 00:13:35,380
‫molto durante

308
00:13:35,380 --> 00:13:37,450
‫il corso, perché, come ho detto all'inizio,

309
00:13:37,450 --> 00:13:39,840
‫il middleware è davvero un concetto fondamentale questo

310
00:13:39,840 --> 00:13:42,010
‫è davvero importante per molte cose di

311
00:13:42,010 --> 00:13:44,060
‫cui abbiamo bisogno nelle nostre applicazioni.

312
00:13:44,060 --> 00:13:46,140
‫Quindi abbiamo quasi finito di parlare di middleware.

313
00:13:46,140 --> 00:13:48,070
‫Il prossimo è l'ultimo, che è

314
00:13:48,070 --> 00:13:49,823
‫il middleware di aggregazione.

