﻿1
00:00:01,110 --> 00:00:03,330
‫Narrador: Neste vídeo, vamos falar sobre

2
00:00:03,330 --> 00:00:06,180
‫o segundo tipo de middleware Mongoose, que é

3
00:00:06,180 --> 00:00:08,133
‫o middleware de consulta.

4
00:00:09,690 --> 00:00:12,169
‫E, como o nome já diz,

5
00:00:12,169 --> 00:00:15,720
‫o middleware de consulta nos permite executar funções antes ou

6
00:00:15,720 --> 00:00:18,360
‫depois de uma determinada consulta ser executada.

7
00:00:18,360 --> 00:00:21,020
‫E agora vamos adicionar um gancho

8
00:00:21,020 --> 00:00:23,730
‫de pré-localização, basicamente, um middleware que será executado

9
00:00:23,730 --> 00:00:26,493
‫antes de qualquer consulta de localização ser executada.

10
00:00:29,780 --> 00:00:31,740
‫Então, vamos adicionar outro comentário aqui.

11
00:00:31,740 --> 00:00:35,283
‫Portanto, este é um middleware de consulta.

12
00:00:36,270 --> 00:00:38,760
‫E, claro, funciona de maneira muito semelhante

13
00:00:38,760 --> 00:00:39,763
‫a antes.

14
00:00:41,320 --> 00:00:43,950
‫Então o tourSchema, e então o pre, e

15
00:00:43,950 --> 00:00:46,280
‫aqui nós definimos o hook, que será

16
00:00:46,280 --> 00:00:47,557
‫"find.

17
00:00:50,110 --> 00:00:52,900
‫"Então, função e, novamente, temos

18
00:00:52,900 --> 00:00:55,540
‫acesso à próxima função.

19
00:00:55,540 --> 00:00:57,870
‫E, na verdade, vamos começar chamando-o

20
00:00:57,870 --> 00:01:00,880
‫aqui no final para que não o esqueçamos.

21
00:01:00,880 --> 00:01:03,310
‫Ok, então você vê que se

22
00:01:03,310 --> 00:01:05,680
‫parece exatamente com o outro middleware,

23
00:01:05,680 --> 00:01:07,170
‫o outro pré-gancho.

24
00:01:07,170 --> 00:01:10,320
‫A única diferença aqui é realmente esse gancho de

25
00:01:10,320 --> 00:01:12,360
‫localização, que tornará esse middleware de

26
00:01:12,360 --> 00:01:14,320
‫consulta e não o documentará.

27
00:01:14,320 --> 00:01:15,153
‫Tudo bem?

28
00:01:15,153 --> 00:01:17,040
‫E então, a grande diferença aqui

29
00:01:17,040 --> 00:01:20,910
‫é que esta palavra-chave agora apontará para a consulta atual e não

30
00:01:20,910 --> 00:01:22,700
‫para o documento atual,

31
00:01:22,700 --> 00:01:25,580
‫porque não estamos realmente processando nenhum documento aqui.

32
00:01:25,580 --> 00:01:28,370
‫Estaremos realmente processando uma consulta.

33
00:01:28,370 --> 00:01:29,203
‫OK?

34
00:01:29,203 --> 00:01:32,160
‫E o caso de uso que faremos aqui é este.

35
00:01:32,160 --> 00:01:34,380
‫Então, vamos supor que possamos

36
00:01:34,380 --> 00:01:36,670
‫ter passeios secretos em nosso banco de

37
00:01:36,670 --> 00:01:39,760
‫dados, como para passeios que são oferecidos apenas internamente,

38
00:01:39,760 --> 00:01:43,160
‫ou para um grupo VIP de pessoas muito pequeno, e

39
00:01:43,160 --> 00:01:45,420
‫que o público não deva saber.

40
00:01:45,420 --> 00:01:47,327
‫Agora, como esses passeios são

41
00:01:47,327 --> 00:01:51,080
‫secretos, não queremos que os passeios secretos jamais apareçam nas

42
00:01:51,080 --> 00:01:52,510
‫saídas de resultados.

43
00:01:52,510 --> 00:01:53,510
‫Direito?

44
00:01:53,510 --> 00:01:56,950
‫E então o que vamos fazer é criar um campo de

45
00:01:56,950 --> 00:02:00,780
‫turismo secreto e, em seguida, consultar apenas os passeios que não são secretos.

46
00:02:00,780 --> 00:02:01,690
‫Tudo bem?

47
00:02:01,690 --> 00:02:02,763
‫Então, vamos fazer isso.

48
00:02:04,160 --> 00:02:07,103
‫Comece adicionando aqui, e vamos fazer isso no final.

49
00:02:11,447 --> 00:02:15,114
‫secretTour, então o tipo deve ser um booleano, e acho que esta

50
00:02:16,560 --> 00:02:17,980
‫é a primeira vez

51
00:02:17,980 --> 00:02:19,710
‫que estamos realmente usando um

52
00:02:19,710 --> 00:02:22,030
‫booleano, então isso seria verdadeiro ou falso.

53
00:02:22,030 --> 00:02:23,852
‫Portanto, se for verdade,

54
00:02:23,852 --> 00:02:25,770
‫é um tour secreto e

55
00:02:25,770 --> 00:02:29,133
‫não queremos que apareça e, por padrão, é falso.

56
00:02:30,570 --> 00:02:31,403
‫Tudo bem?

57
00:02:31,403 --> 00:02:35,000
‫E então, basicamente, os passeios geralmente não são secretos.

58
00:02:35,000 --> 00:02:35,950
‫OK.

59
00:02:35,950 --> 00:02:39,740
‫Em seguida, vamos criar um tour secreto

60
00:02:40,900 --> 00:02:44,610
‫para que possamos testá-lo, certo?

61
00:02:44,610 --> 00:02:49,610
‫Então, vamos chamar isso aqui de Super Secret Tour.

62
00:02:50,530 --> 00:02:51,880
‫Tudo isso não

63
00:02:54,130 --> 00:02:58,603
‫importa, e deixe-me apenas dizer que secretTour é realmente verdadeiro.

64
00:02:59,700 --> 00:03:01,020
‫OK?

65
00:03:01,020 --> 00:03:02,443
‫Salve aqui ...

66
00:03:03,480 --> 00:03:05,980
‫E, uh, onde fica isso?

67
00:03:05,980 --> 00:03:08,520
‫Sim. Então secretTour é verdade.

68
00:03:08,520 --> 00:03:10,750
‫E agora vamos ao Compass

69
00:03:10,750 --> 00:03:13,783
‫e deletar todas essas outras turnês que fizemos lá.

70
00:03:15,600 --> 00:03:17,483
‫Então, vamos recarregar isso ...

71
00:03:18,890 --> 00:03:22,813
‫E então, aqui embaixo, devemos ter ...

72
00:03:24,470 --> 00:03:27,890
‫Sim, este tour de teste aqui, podemos excluí-lo.

73
00:03:27,890 --> 00:03:29,613
‫Outro tour de teste ...

74
00:03:30,740 --> 00:03:32,540
‫Então, toda essa desordem aqui,

75
00:03:33,730 --> 00:03:35,530
‫basicamente, queremos nos livrar dela.

76
00:03:35,530 --> 00:03:37,600
‫Nós apenas mantemos o

77
00:03:37,600 --> 00:03:40,010
‫secretTour aqui para que possamos experimentá-lo.

78
00:03:40,010 --> 00:03:43,170
‫Ok, e você vê aqui que secretTour está definido como true,

79
00:03:43,170 --> 00:03:44,530
‫enquanto os outros, é

80
00:03:44,530 --> 00:03:46,180
‫claro, não têm esse atributo,

81
00:03:46,180 --> 00:03:48,110
‫porque, no momento em que os

82
00:03:48,110 --> 00:03:49,993
‫criamos, ainda não tínhamos o secretTour.

83
00:03:51,780 --> 00:03:54,060
‫Então, agora, um pouco antes de começarmos,

84
00:03:54,060 --> 00:03:57,539
‫de volta ao Postman, vamos confirmar que, de fato, a

85
00:03:57,539 --> 00:04:01,230
‫última turnê aqui, e na verdade não é a última turnê,

86
00:04:01,230 --> 00:04:02,660
‫então onde está?

87
00:04:02,660 --> 00:04:03,570
‫Oh, é o primeiro.

88
00:04:03,570 --> 00:04:05,950
‫Então aqui temos o Super Secret Tour, é

89
00:04:05,950 --> 00:04:07,483
‫claro, definido como verdadeiro.

90
00:04:08,360 --> 00:04:12,010
‫Tudo bem? Então, voltando agora, vamos agora

91
00:04:12,010 --> 00:04:13,880
‫executar a consulta como acabamos

92
00:04:13,880 --> 00:04:15,580
‫de dizer no início.

93
00:04:15,580 --> 00:04:18,350
‫Então, novamente, tenha em mente que este aqui

94
00:04:18,350 --> 00:04:20,780
‫agora é um objeto de consulta, certo?

95
00:04:20,780 --> 00:04:23,230
‫E assim podemos encadear todos os métodos

96
00:04:23,230 --> 00:04:25,250
‫que temos para consultas.

97
00:04:25,250 --> 00:04:29,220
‫Isso simplesmente adiciona um método de localização aqui

98
00:04:29,220 --> 00:04:31,260
‫e basicamente seleciona

99
00:04:31,260 --> 00:04:36,070
‫todos os documentos onde secretTour não é verdadeiro, certo?

100
00:04:36,070 --> 00:04:40,540
‫Então secretTour ...

101
00:04:40,540 --> 00:04:43,530
‫E então não é igual a verdade.

102
00:04:43,530 --> 00:04:45,710
‫E estou fazendo assim porque,

103
00:04:45,710 --> 00:04:49,170
‫lembre-se, os editores não estão atualmente configurados como falsos.

104
00:04:49,170 --> 00:04:51,120
‫Eles simplesmente não têm esse atributo.

105
00:04:52,090 --> 00:04:53,100
‫Tudo bem?

106
00:04:53,100 --> 00:04:56,210
‫Ok, então vamos testar agora novamente.

107
00:04:56,210 --> 00:04:58,263
‫E então agora deve ter ido embora.

108
00:04:59,220 --> 00:05:01,483
‫E, de fato, não está mais aqui.

109
00:05:02,320 --> 00:05:05,570
‫Ok, temos todas as viagens que não são secretas, mas

110
00:05:05,570 --> 00:05:07,290
‫não a turnê secreta.

111
00:05:07,290 --> 00:05:08,943
‫E agora estou vendo

112
00:05:08,943 --> 00:05:11,370
‫que temos secretTour definido como falso

113
00:05:11,370 --> 00:05:13,850
‫aqui, mas isso é apenas uma

114
00:05:13,850 --> 00:05:17,913
‫coisa do Mongoose, então vamos dar outra olhada aqui no Compass

115
00:05:18,830 --> 00:05:19,753
‫e recarregar.

116
00:05:20,800 --> 00:05:22,920
‫E então você vê que, na verdade,

117
00:05:22,920 --> 00:05:25,450
‫no banco de dados, secretTour não está definido como falso.

118
00:05:25,450 --> 00:05:27,890
‫O Mongoose está simplesmente adicionando isso porque o temos em

119
00:05:27,890 --> 00:05:30,478
‫nosso esquema como padrão e não está no banco de dados.

120
00:05:30,478 --> 00:05:34,360
‫E é basicamente, então, colocá-lo lá de qualquer maneira.

121
00:05:34,360 --> 00:05:37,150
‫Você vê que, na verdade, temos 11

122
00:05:37,150 --> 00:05:40,710
‫documentos, mas aqui no Postman obtemos apenas dez resultados.

123
00:05:40,710 --> 00:05:41,600
‫E isso,

124
00:05:41,600 --> 00:05:45,360
‫é claro, porque nossa turnê secreta é basicamente filtrada.

125
00:05:45,360 --> 00:05:46,193
‫OK?

126
00:05:46,193 --> 00:05:47,910
‫Então, vamos tentar entender novamente

127
00:05:47,910 --> 00:05:49,320
‫o que realmente acontece.

128
00:05:49,320 --> 00:05:51,730
‫Portanto, assim que chegarmos a essa rota,

129
00:05:51,730 --> 00:05:53,170
‫aqui, usando o método

130
00:05:53,170 --> 00:05:55,313
‫get, vamos ver o que acontece.

131
00:05:57,520 --> 00:06:00,340
‫Então, o que acontece é que criamos uma

132
00:06:00,340 --> 00:06:02,700
‫consulta usando tour. achar.

133
00:06:02,700 --> 00:06:03,533
‫OK?

134
00:06:03,533 --> 00:06:05,900
‫E então, é claro, encadeamos todos

135
00:06:05,900 --> 00:06:08,660
‫esses métodos a ele, conforme falamos em uma

136
00:06:08,660 --> 00:06:09,790
‫das últimas

137
00:06:09,790 --> 00:06:13,770
‫aulas, e então, no final, executamos essa consulta aqui usando await.

138
00:06:13,770 --> 00:06:15,280
‫Direito? Lembre-se disso?

139
00:06:15,280 --> 00:06:17,460
‫Portanto, é aqui que executamos a consulta.

140
00:06:17,460 --> 00:06:20,030
‫Mas, antes de realmente

141
00:06:20,030 --> 00:06:24,790
‫ser executado, então, nosso middleware de pré-localização aqui é executado.

142
00:06:24,790 --> 00:06:25,623
‫OK?

143
00:06:25,623 --> 00:06:27,873
‫E é executado porque

144
00:06:27,873 --> 00:06:30,270
‫é find, assim como usamos aqui.

145
00:06:30,270 --> 00:06:31,103
‫Direito?

146
00:06:31,103 --> 00:06:33,020
‫Portanto, estamos criando uma consulta

147
00:06:33,020 --> 00:06:36,570
‫de localização e, portanto, o gancho de localização é executado.

148
00:06:36,570 --> 00:06:39,420
‫Então, aqui, por se tratar de um middleware de consulta,

149
00:06:39,420 --> 00:06:41,630
‫a palavra-chave this aponta para a consulta.

150
00:06:41,630 --> 00:06:43,670
‫E então, para essa consulta,

151
00:06:43,670 --> 00:06:46,230
‫podemos então encadear outro método find, certo?

152
00:06:46,230 --> 00:06:49,160
‫E lá, filtramos o secretTour usando este

153
00:06:49,160 --> 00:06:50,930
‫objeto de filtro.

154
00:06:50,930 --> 00:06:51,763
‫OK?

155
00:06:51,763 --> 00:06:54,280
‫Então, basicamente dizendo que só queremos

156
00:06:54,280 --> 00:06:57,450
‫tours onde o secretTour não é igual a true.

157
00:06:57,450 --> 00:06:59,120
‫E funcionaria da

158
00:06:59,120 --> 00:07:00,979
‫mesma forma se simplesmente disséssemos

159
00:07:00,979 --> 00:07:03,790
‫aqui, falso, mas acho mais limpo assim.

160
00:07:03,790 --> 00:07:07,660
‫Ok, agora há apenas uma coisa que precisamos corrigir, porque

161
00:07:07,660 --> 00:07:10,140
‫neste momento este middleware está sendo

162
00:07:10,140 --> 00:07:13,010
‫executado para find, mas não para find1.

163
00:07:13,010 --> 00:07:13,843
‫OK?

164
00:07:13,843 --> 00:07:17,023
‫Deixe-me mostrar o problema que podemos encontrar com isso.

165
00:07:18,270 --> 00:07:23,120
‫Então, vamos fazer a identificação do tour secreto.

166
00:07:23,120 --> 00:07:24,570
‫Portanto, temos a

167
00:07:24,570 --> 00:07:29,570
‫Turnê Secreta aqui, e esse é o seu ID, e se fizermos a

168
00:07:31,370 --> 00:07:35,040
‫turnê, isso deve nos dar a Turnê Super Secreta aqui.

169
00:07:35,040 --> 00:07:35,873
‫Direito?

170
00:07:35,873 --> 00:07:37,383
‫E então você vê,

171
00:07:37,383 --> 00:07:39,470
‫aquele filtro que acabamos de construir no

172
00:07:39,470 --> 00:07:41,630
‫middleware não está funcionando para este comando.

173
00:07:41,630 --> 00:07:42,463
‫OK?

174
00:07:42,463 --> 00:07:45,640
‫E isso porque a função de manipulação

175
00:07:45,640 --> 00:07:47,360
‫dessa rota, como

176
00:07:47,360 --> 00:07:51,560
‫você deve se lembrar, está usando findByID, que, nos bastidores,

177
00:07:51,560 --> 00:07:55,290
‫é find1 e, portanto, é diferente de find.

178
00:07:55,290 --> 00:07:56,242
‫Tudo bem?

179
00:07:56,242 --> 00:08:01,242
‫Portanto, precisamos especificar o mesmo middleware também para find1.

180
00:08:01,750 --> 00:08:03,610
‫Agora, existem duas maneiras

181
00:08:03,610 --> 00:08:06,760
‫de fazer isso, e a primeira seria simplesmente

182
00:08:06,760 --> 00:08:11,363
‫seguir em frente, copiar este código e, em seguida, colocar find1 aqui.

183
00:08:12,210 --> 00:08:14,210
‫Mas isso não é muito

184
00:08:14,210 --> 00:08:16,970
‫bom e, em vez disso, usaremos uma expressão regular.

185
00:08:16,970 --> 00:08:20,530
‫E isso é bem fácil, e então ...

186
00:08:20,530 --> 00:08:22,700
‫E deixe-me apenas duplicar isso

187
00:08:22,700 --> 00:08:24,013
‫aqui, comentar esta

188
00:08:25,495 --> 00:08:28,360
‫parte e, em seguida, lembre-se, uma expressão regular

189
00:08:28,360 --> 00:08:30,550
‫começa e termina com uma barra.

190
00:08:30,550 --> 00:08:32,500
‫E aqui, o que quero dizer,

191
00:08:32,500 --> 00:08:34,437
‫é que este middleware

192
00:08:34,437 --> 00:08:36,510
‫deve ser executado não apenas para

193
00:08:36,510 --> 00:08:40,450
‫find, mas para todos os comandos que começam com o nome find.

194
00:08:40,450 --> 00:08:41,283
‫OK?

195
00:08:41,283 --> 00:08:45,330
‫Portanto, localize e localize1 e também localize e exclua, localize1 e

196
00:08:45,330 --> 00:08:46,830
‫atualize, e todos

197
00:08:46,830 --> 00:08:49,400
‫esses agora irão realmente acionar esta função

198
00:08:49,400 --> 00:08:51,550
‫de middleware que temos aqui.

199
00:08:52,760 --> 00:08:53,890
‫Tudo bem?

200
00:08:53,890 --> 00:08:55,580
‫Então, não há necessidade disso.

201
00:08:55,580 --> 00:08:58,510
‫Esta expressão regular aqui é muito melhor.

202
00:08:58,510 --> 00:08:59,878
‫Então, novamente, isso

203
00:08:59,878 --> 00:09:03,000
‫aqui significa simplesmente todas as strings que começam com find.

204
00:09:03,000 --> 00:09:05,140
‫E, na verdade, já que estamos aqui,

205
00:09:05,140 --> 00:09:07,883
‫deixe-me mostrar a vocês as documentações do Mongoose novamente.

206
00:09:08,970 --> 00:09:13,240
‫Então, quando formos aqui para o middleware nestes guias, você terá uma

207
00:09:13,240 --> 00:09:15,670
‫visão geral de todo o middleware.

208
00:09:15,670 --> 00:09:16,557
‫Por exemplo,

209
00:09:16,557 --> 00:09:19,041
‫middleware de documento é aquele de que falamos

210
00:09:19,041 --> 00:09:21,640
‫antes, que é executado, por exemplo, ao salvar.

211
00:09:21,640 --> 00:09:23,600
‫Mas, na verdade, o middleware de

212
00:09:23,600 --> 00:09:26,510
‫documento também pode ser executado para coisas como remove.

213
00:09:26,510 --> 00:09:27,460
‫Tudo bem?

214
00:09:27,460 --> 00:09:28,840
‫Ou para validar.

215
00:09:28,840 --> 00:09:31,220
‫Ok, mas eu não falei sobre

216
00:09:31,220 --> 00:09:34,750
‫isso porque geralmente o que usamos sempre é apenas para salvar.

217
00:09:34,750 --> 00:09:37,590
‫Agora, o middleware de consulta pode ser executado para

218
00:09:37,590 --> 00:09:39,340
‫todas essas funções de consulta.

219
00:09:39,340 --> 00:09:41,980
‫Portanto, encontre, como acabamos de especificar,

220
00:09:41,980 --> 00:09:43,780
‫e agora, com nossa expressão

221
00:09:43,780 --> 00:09:45,520
‫regular, ela também

222
00:09:45,520 --> 00:09:47,270
‫será executada para find1,

223
00:09:48,768 --> 00:09:50,518
‫findOneAndDelete, findOneAndRemove e findOneAndUpdate.

224
00:09:51,850 --> 00:09:55,130
‫De qualquer forma, voltando ao Postman

225
00:09:55,130 --> 00:09:58,650
‫agora, isso deve ter corrigido a situação aqui.

226
00:09:58,650 --> 00:10:01,210
‫Portanto, quando agora executarmos essa consulta, ela

227
00:10:01,210 --> 00:10:03,040
‫não deverá ter resultados.

228
00:10:03,040 --> 00:10:04,800
‫E, de fato, não funciona.

229
00:10:04,800 --> 00:10:08,220
‫Porque, lembre-se, estávamos tentando obter um SecretTour.

230
00:10:08,220 --> 00:10:10,370
‫Portanto, o passeio com este ID aqui

231
00:10:10,370 --> 00:10:12,520
‫é secreto, mas nunca queremos que

232
00:10:12,520 --> 00:10:14,380
‫secretTours apareça em nenhuma consulta.

233
00:10:14,380 --> 00:10:17,283
‫E é por isso que, agora, não obtemos nenhum resultado.

234
00:10:18,190 --> 00:10:19,023
‫OK?

235
00:10:19,023 --> 00:10:20,510
‫Então isso funciona agora.

236
00:10:20,510 --> 00:10:22,160
‫Não salve isso, e

237
00:10:22,160 --> 00:10:24,230
‫agora, de volta ao nosso código.

238
00:10:24,230 --> 00:10:25,900
‫Vamos agora também

239
00:10:25,900 --> 00:10:28,333
‫especificar um pós-middleware para find.

240
00:10:30,140 --> 00:10:35,140
‫Então, tourSchema, e então, como antes, poste, e então vamos usar

241
00:10:35,820 --> 00:10:38,510
‫nossa expressão regular aqui novamente para

242
00:10:38,510 --> 00:10:41,113
‫qualquer coisa começando com find.

243
00:10:43,340 --> 00:10:45,240
‫E então apenas

244
00:10:45,240 --> 00:10:47,400
‫uma função regular, e aqui, no

245
00:10:47,400 --> 00:10:49,810
‫middleware pós-localização, temos acesso a todos os

246
00:10:49,810 --> 00:10:51,713
‫documentos que retornamos da consulta.

247
00:10:52,680 --> 00:10:54,573
‫Então, vamos chamar isso de Docs.

248
00:10:55,680 --> 00:10:56,780
‫Tudo bem?

249
00:10:56,780 --> 00:10:59,350
‫Portanto, lembre-se de que este middleware será

250
00:10:59,350 --> 00:11:02,280
‫executado após a consulta já ter sido executada.

251
00:11:02,280 --> 00:11:04,100
‫E assim, portanto, poderá ter

252
00:11:04,100 --> 00:11:06,120
‫acesso aos documentos que foram devolvidos.

253
00:11:06,120 --> 00:11:07,900
‫Novamente, porque essa consulta na

254
00:11:07,900 --> 00:11:10,033
‫verdade já foi concluída neste ponto.

255
00:11:11,580 --> 00:11:15,510
‫Então, vamos registrar esses documentos no console,

256
00:11:15,510 --> 00:11:16,343
‫então

257
00:11:16,343 --> 00:11:20,360
‫docs, mas também quero fazer outra coisa aqui.

258
00:11:20,360 --> 00:11:22,710
‫Então, basicamente, vamos criar uma espécie

259
00:11:22,710 --> 00:11:25,150
‫de relógio para medir quanto tempo leva

260
00:11:25,150 --> 00:11:27,163
‫para executar a consulta atual.

261
00:11:28,120 --> 00:11:28,953
‫Tudo bem?

262
00:11:28,953 --> 00:11:30,770
‫Então, como vamos fazer isso?

263
00:11:30,770 --> 00:11:32,680
‫Bem, muito simples.

264
00:11:32,680 --> 00:11:36,180
‫Podemos simplesmente definir uma propriedade para este objeto, porque

265
00:11:36,180 --> 00:11:39,810
‫este objeto de consulta é, na verdade, apenas um objeto normal.

266
00:11:39,810 --> 00:11:42,570
‫É claro que ele tem acesso a todos esses

267
00:11:42,570 --> 00:11:43,760
‫métodos, como find,

268
00:11:43,760 --> 00:11:45,020
‫mas também podemos usá-lo

269
00:11:45,020 --> 00:11:47,283
‫para definir qualquer propriedade que quisermos nele.

270
00:11:48,660 --> 00:11:51,000
‫Então, novamente, apenas um objeto normal.

271
00:11:51,000 --> 00:11:53,410
‫E aqui podemos dizer isso. o início

272
00:11:53,410 --> 00:11:55,333
‫deve ser a data atual.

273
00:11:56,410 --> 00:11:57,243
‫OK?

274
00:11:57,243 --> 00:11:59,380
‫E então isso definirá

275
00:11:59,380 --> 00:12:02,150
‫como a hora atual em milissegundos, certo?

276
00:12:02,150 --> 00:12:05,320
‫E então, aqui, no pós-middleware, que será executado

277
00:12:05,320 --> 00:12:08,200
‫após a execução da consulta, podemos subtrair

278
00:12:08,200 --> 00:12:10,310
‫a hora atual menos a

279
00:12:10,310 --> 00:12:11,603
‫hora de início.

280
00:12:14,640 --> 00:12:15,833
‫Então console. log, consulta

281
00:12:18,470 --> 00:12:19,583
‫realizada e agora

282
00:12:21,240 --> 00:12:22,600
‫a data atual menos

283
00:12:26,970 --> 00:12:28,073
‫isso.

284
00:12:33,400 --> 00:12:34,423
‫iniciar, milissegundos.

285
00:12:35,510 --> 00:12:38,295
‫Ok, vamos salvar, e agora

286
00:12:38,295 --> 00:12:43,295
‫vamos tentar executar uma consulta e ver nossos resultados.

287
00:12:45,090 --> 00:12:46,469
‫OK?

288
00:12:46,469 --> 00:12:48,390
‫Então, aqui temos todos os nossos tours,

289
00:12:48,390 --> 00:12:49,713
‫aqui temos o

290
00:12:50,700 --> 00:12:52,140
‫console e vamos esclarecer isso.

291
00:12:52,140 --> 00:12:53,740
‫Há um monte de coisas lá.

292
00:12:55,540 --> 00:12:56,763
‫Solicite novamente

293
00:12:58,340 --> 00:13:00,480
‫e aqui estão todos os resultados.

294
00:13:00,480 --> 00:13:03,210
‫Então, basicamente, esses são todos os passeios que foram encontrados, e

295
00:13:03,210 --> 00:13:06,490
‫esse é o resultado do console. log dos documentos.

296
00:13:06,490 --> 00:13:09,890
‫Então, basicamente, os documentos que correspondem à consulta.

297
00:13:09,890 --> 00:13:13,220
‫Mas agora estou interessado neste primeiro console. log, e

298
00:13:13,220 --> 00:13:17,670
‫então, aqui vemos "A consulta demorou 120 milissegundos" e foi

299
00:13:17,670 --> 00:13:19,970
‫basicamente o tempo que passou

300
00:13:19,970 --> 00:13:22,660
‫desde o início, onde definimos isso,

301
00:13:22,660 --> 00:13:26,950
‫até depois que a consulta foi executada, neste momento.

302
00:13:26,950 --> 00:13:27,783
‫Tudo bem.

303
00:13:27,783 --> 00:13:29,910
‫E isso é tudo o que eu

304
00:13:29,910 --> 00:13:31,550
‫tinha para mostrar a vocês

305
00:13:31,550 --> 00:13:32,680
‫agora sobre middleware de

306
00:13:32,680 --> 00:13:34,370
‫consulta e, assim como antes, é

307
00:13:34,370 --> 00:13:35,380
‫claro que

308
00:13:35,380 --> 00:13:37,450
‫usaremos isso muito ao longo do curso,

309
00:13:37,450 --> 00:13:39,840
‫porque, como mencionei no início, middleware é realmente

310
00:13:39,840 --> 00:13:42,010
‫um conceito fundamental isso é muito importante para

311
00:13:42,010 --> 00:13:44,060
‫muitas coisas que precisamos em nossos aplicativos.

312
00:13:44,060 --> 00:13:46,140
‫Então, estamos quase terminando de falar sobre middleware.

313
00:13:46,140 --> 00:13:48,070
‫O próximo é o último, que

314
00:13:48,070 --> 00:13:49,823
‫é o middleware de agregação.

