﻿1
00:00:01,110 --> 00:00:03,330
‫Narrateur : Dans cette vidéo, nous

2
00:00:03,330 --> 00:00:06,180
‫allons parler du deuxième type de middleware Mongoose, qui

3
00:00:06,180 --> 00:00:08,133
‫est le middleware de requête.

4
00:00:09,690 --> 00:00:12,169
‫Et, comme son nom l'indique,

5
00:00:12,169 --> 00:00:15,720
‫le middleware de requête nous permet d'exécuter des fonctions

6
00:00:15,720 --> 00:00:18,360
‫avant ou après l'exécution d'une certaine requête.

7
00:00:18,360 --> 00:00:21,020
‫Et donc ajoutons maintenant un crochet de

8
00:00:21,020 --> 00:00:23,730
‫pré-recherche, donc fondamentalement, un middleware qui va s'exécuter

9
00:00:23,730 --> 00:00:26,493
‫avant qu'une requête de recherche ne soit exécutée.

10
00:00:29,780 --> 00:00:31,740
‫Ajoutons donc un autre commentaire ici.

11
00:00:31,740 --> 00:00:35,283
‫Il s'agit donc d'un middleware de requête.

12
00:00:36,270 --> 00:00:38,760
‫Et bien sûr, cela fonctionne de la même

13
00:00:38,760 --> 00:00:39,763
‫manière qu'avant.

14
00:00:41,320 --> 00:00:43,950
‫Donc le tourSchema, puis pre, et ici nous

15
00:00:43,950 --> 00:00:46,280
‫définissons le crochet, qui va être

16
00:00:46,280 --> 00:00:47,557
‫"trouver. "

17
00:00:50,110 --> 00:00:52,900
‫Alors, fonction, et encore, nous avons

18
00:00:52,900 --> 00:00:55,540
‫accès à la fonction suivante.

19
00:00:55,540 --> 00:00:57,870
‫Et effectivement, commençons par l'appeler

20
00:00:57,870 --> 00:01:00,880
‫ici à la fin pour ne pas l'oublier.

21
00:01:00,880 --> 00:01:03,310
‫D'accord, et vous voyez, cela

22
00:01:03,310 --> 00:01:05,680
‫ressemble exactement à l'autre middleware,

23
00:01:05,680 --> 00:01:07,170
‫l'autre pré-crochet.

24
00:01:07,170 --> 00:01:10,320
‫La seule différence ici est vraiment ce crochet de recherche, qui

25
00:01:10,320 --> 00:01:12,360
‫fera de ce middleware de requête et

26
00:01:12,360 --> 00:01:14,320
‫non un middleware de document.

27
00:01:14,320 --> 00:01:15,153
‫D'accord?

28
00:01:15,153 --> 00:01:17,040
‫Et donc, la grande différence ici

29
00:01:17,040 --> 00:01:20,910
‫est que le mot-clé this pointera désormais vers la requête actuelle et

30
00:01:20,910 --> 00:01:22,700
‫non vers le document actuel,

31
00:01:22,700 --> 00:01:25,580
‫car nous ne traitons pas vraiment de documents ici.

32
00:01:25,580 --> 00:01:28,370
‫Nous allons vraiment traiter une requête.

33
00:01:28,370 --> 00:01:29,203
‫D'accord?

34
00:01:29,203 --> 00:01:32,160
‫Et le cas d'utilisation que nous allons faire ici est le suivant.

35
00:01:32,160 --> 00:01:34,380
‫Supposons donc que nous puissions avoir

36
00:01:34,380 --> 00:01:36,670
‫des visites secrètes dans notre base de données,

37
00:01:36,670 --> 00:01:39,760
‫comme pour des visites qui ne sont proposées qu'en interne, ou

38
00:01:39,760 --> 00:01:43,160
‫pour un très petit groupe de personnes, comme un groupe VIP, et

39
00:01:43,160 --> 00:01:45,420
‫que le public ne devrait pas connaître.

40
00:01:45,420 --> 00:01:47,327
‫Maintenant, puisque ces tournées sont secrètes,

41
00:01:47,327 --> 00:01:51,080
‫nous ne voulons pas que les tournées secrètes apparaissent dans les

42
00:01:51,080 --> 00:01:52,510
‫sorties de résultat.

43
00:01:52,510 --> 00:01:53,510
‫Droit?

44
00:01:53,510 --> 00:01:56,950
‫Et donc ce que nous allons faire, c'est créer un champ

45
00:01:56,950 --> 00:02:00,780
‫de visite secret, puis interroger uniquement les visites qui ne sont pas secrètes.

46
00:02:00,780 --> 00:02:01,690
‫D'accord?

47
00:02:01,690 --> 00:02:02,763
‫Alors, faisons-le.

48
00:02:04,160 --> 00:02:07,103
‫Commencez par ajouter ici, et faisons-le correctement à la fin.

49
00:02:11,447 --> 00:02:15,114
‫secretTour, donc le type devrait être un booléen, et je pense

50
00:02:16,560 --> 00:02:17,980
‫que c'est la première

51
00:02:17,980 --> 00:02:19,710
‫fois que nous utilisons un

52
00:02:19,710 --> 00:02:22,030
‫booléen, donc ce serait vrai ou faux.

53
00:02:22,030 --> 00:02:23,852
‫Donc si c'est vrai, alors

54
00:02:23,852 --> 00:02:25,770
‫c'est une tournée secrète, et nous

55
00:02:25,770 --> 00:02:29,133
‫ne voulons pas qu'elle apparaisse, et, par défaut, c'est faux.

56
00:02:30,570 --> 00:02:31,403
‫D'accord?

57
00:02:31,403 --> 00:02:35,000
‫Et donc, au fond, les visites ne sont généralement pas secrètes.

58
00:02:35,000 --> 00:02:35,950
‫D'accord.

59
00:02:35,950 --> 00:02:39,740
‫Ensuite, allons de l'avant et créons une visite secrète afin

60
00:02:40,900 --> 00:02:44,610
‫que nous puissions ensuite tester son utilisation, d'accord ?

61
00:02:44,610 --> 00:02:49,610
‫Appelons cela ici le Super Secret Tour.

62
00:02:50,530 --> 00:02:51,880
‫Tout cela n'a

63
00:02:54,130 --> 00:02:58,603
‫pas d'importance, et permettez-moi simplement de dire que secretTour est en effet vrai.

64
00:02:59,700 --> 00:03:01,020
‫D'accord?

65
00:03:01,020 --> 00:03:02,443
‫Enregistrez-le ici...

66
00:03:03,480 --> 00:03:05,980
‫Et, euh, où est-ce ?

67
00:03:05,980 --> 00:03:08,520
‫Oui. Donc secretTour est vrai.

68
00:03:08,520 --> 00:03:10,750
‫Et passons maintenant à Compass et

69
00:03:10,750 --> 00:03:13,783
‫supprimons toutes ces autres tournées que nous avons eues là-bas.

70
00:03:15,600 --> 00:03:17,483
‫Alors, rechargeons ça...

71
00:03:18,890 --> 00:03:22,813
‫Et puis, ici-bas, on aurait dû...

72
00:03:24,470 --> 00:03:27,890
‫Ouais, cette tournée d'essai ici, on peut la supprimer.

73
00:03:27,890 --> 00:03:29,613
‫Encore une tournée test...

74
00:03:30,740 --> 00:03:32,540
‫Donc, tout ce fouillis ici, en

75
00:03:33,730 --> 00:03:35,530
‫gros, nous voulons nous en débarrasser.

76
00:03:35,530 --> 00:03:37,600
‫Nous ne gardons que le secretTour

77
00:03:37,600 --> 00:03:40,010
‫ici afin que nous puissions maintenant l'expérimenter.

78
00:03:40,010 --> 00:03:43,170
‫D'accord, et vous voyez ici que secretTour est défini sur true, tandis

79
00:03:43,170 --> 00:03:44,530
‫que les autres, bien

80
00:03:44,530 --> 00:03:46,180
‫sûr, n'ont pas cet attribut,

81
00:03:46,180 --> 00:03:48,110
‫car, au moment où nous les avons

82
00:03:48,110 --> 00:03:49,993
‫créés, nous n'avions pas encore le secretTour.

83
00:03:51,780 --> 00:03:54,060
‫Alors, maintenant, juste avant de commencer,

84
00:03:54,060 --> 00:03:57,539
‫de retour dans Postman, confirmons qu'en effet, la dernière tournée

85
00:03:57,539 --> 00:04:01,230
‫ici, et en fait ce n'est pas la dernière tournée, alors

86
00:04:01,230 --> 00:04:02,660
‫où est-elle ?

87
00:04:02,660 --> 00:04:03,570
‫Ah, c'est le premier.

88
00:04:03,570 --> 00:04:05,950
‫Nous avons donc ici le Super Secret Tour,

89
00:04:05,950 --> 00:04:07,483
‫bien sûr, réglé sur vrai.

90
00:04:08,360 --> 00:04:12,010
‫D'accord? Donc, revenons en arrière maintenant, exécutons

91
00:04:12,010 --> 00:04:13,880
‫maintenant la requête comme nous venons

92
00:04:13,880 --> 00:04:15,580
‫de le dire au début.

93
00:04:15,580 --> 00:04:18,350
‫Donc, encore une fois, gardez à l'esprit qu'il s'agit

94
00:04:18,350 --> 00:04:20,780
‫maintenant d'un objet de requête, d'accord ?

95
00:04:20,780 --> 00:04:23,230
‫Et ainsi, nous pouvons enchaîner toutes les méthodes

96
00:04:23,230 --> 00:04:25,250
‫dont nous disposons pour les requêtes.

97
00:04:25,250 --> 00:04:29,220
‫Et donc cela ajoute simplement une méthode de

98
00:04:29,220 --> 00:04:31,260
‫recherche ici, puis sélectionnez

99
00:04:31,260 --> 00:04:36,070
‫fondamentalement tous les documents où secretTour n'est pas vrai, d'accord ?

100
00:04:36,070 --> 00:04:40,540
‫Tellement secretTour...

101
00:04:40,540 --> 00:04:43,530
‫Et puis n'est pas égal à vrai.

102
00:04:43,530 --> 00:04:45,710
‫Et je le fais comme ça

103
00:04:45,710 --> 00:04:49,170
‫parce que, rappelez-vous, les éditeurs ne sont pas actuellement réglés sur false.

104
00:04:49,170 --> 00:04:51,120
‫Ils n'ont tout simplement pas cet attribut.

105
00:04:52,090 --> 00:04:53,100
‫D'accord?

106
00:04:53,100 --> 00:04:56,210
‫Bon, alors testons-le à nouveau maintenant.

107
00:04:56,210 --> 00:04:58,263
‫Et donc il devrait maintenant être parti ici.

108
00:04:59,220 --> 00:05:01,483
‫Et effectivement, il n'est plus là.

109
00:05:02,320 --> 00:05:05,570
‫D'accord, nous avons toutes les visites qui ne sont pas secrètes,

110
00:05:05,570 --> 00:05:07,290
‫mais pas la visite secrète.

111
00:05:07,290 --> 00:05:08,943
‫Et je vois maintenant que

112
00:05:08,943 --> 00:05:11,370
‫nous avons en fait secretTour défini sur

113
00:05:11,370 --> 00:05:13,850
‫false ici, mais c'est vraiment juste un

114
00:05:13,850 --> 00:05:17,913
‫truc de Mongoose, alors jetons un autre coup d'œil ici à Compass,

115
00:05:18,830 --> 00:05:19,753
‫et rechargeons.

116
00:05:20,800 --> 00:05:22,920
‫Et donc vous voyez qu'en fait, dans

117
00:05:22,920 --> 00:05:25,450
‫la base de données, secretTour n'est pas défini sur false.

118
00:05:25,450 --> 00:05:27,890
‫Mongoose ajoute simplement cela parce que nous l'avons dans notre

119
00:05:27,890 --> 00:05:30,478
‫schéma par défaut, et ce n'est pas dans la base de données.

120
00:05:30,478 --> 00:05:34,360
‫Et donc c'est fondamentalement, alors, le mettre là de toute façon.

121
00:05:34,360 --> 00:05:37,150
‫Vous voyez donc que nous avons en fait

122
00:05:37,150 --> 00:05:40,710
‫11 documents, mais ici, dans Postman, nous n'obtenons que dix résultats.

123
00:05:40,710 --> 00:05:41,600
‫Et c'est,

124
00:05:41,600 --> 00:05:45,360
‫bien sûr, parce que notre visite secrète est essentiellement filtrée.

125
00:05:45,360 --> 00:05:46,193
‫D'accord?

126
00:05:46,193 --> 00:05:47,910
‫Essayons donc de comprendre à nouveau ce

127
00:05:47,910 --> 00:05:49,320
‫qui se passe réellement.

128
00:05:49,320 --> 00:05:51,730
‫Donc, dès que nous atteignons cette route, ici,

129
00:05:51,730 --> 00:05:53,170
‫en utilisant la méthode

130
00:05:53,170 --> 00:05:55,313
‫get, voyons ce qui se passe.

131
00:05:57,520 --> 00:06:00,340
‫Donc, ce qui se passe, c'est que nous créons une

132
00:06:00,340 --> 00:06:02,700
‫requête en utilisant tour. trouve.

133
00:06:02,700 --> 00:06:03,533
‫D'accord?

134
00:06:03,533 --> 00:06:05,900
‫Et puis, bien sûr, nous lui enchaînons

135
00:06:05,900 --> 00:06:08,660
‫toutes ces méthodes comme nous en avons parlé dans

136
00:06:08,660 --> 00:06:09,790
‫l'une des dernières

137
00:06:09,790 --> 00:06:13,770
‫conférences, puis, à la fin, nous exécutons cette requête ici en utilisant wait.

138
00:06:13,770 --> 00:06:15,280
‫Droit? Vous vous en souvenez ?

139
00:06:15,280 --> 00:06:17,460
‫C'est donc ici que nous exécutons la requête.

140
00:06:17,460 --> 00:06:20,030
‫Mais, avant qu'il ne

141
00:06:20,030 --> 00:06:24,790
‫soit réellement exécuté, notre middleware de pré-recherche ici est exécuté.

142
00:06:24,790 --> 00:06:25,623
‫D'accord?

143
00:06:25,623 --> 00:06:27,873
‫Et il est exécuté parce qu'il

144
00:06:27,873 --> 00:06:30,270
‫est trouvé, tout comme nous l'avons utilisé ici.

145
00:06:30,270 --> 00:06:31,103
‫Droit?

146
00:06:31,103 --> 00:06:33,020
‫Donc, nous créons une requête de

147
00:06:33,020 --> 00:06:36,570
‫recherche, et donc, par conséquent, le crochet de recherche est ensuite exécuté.

148
00:06:36,570 --> 00:06:39,420
‫Ensuite, ici, puisqu'il s'agit d'un middleware de requête, le

149
00:06:39,420 --> 00:06:41,630
‫mot-clé this pointe vers la requête.

150
00:06:41,630 --> 00:06:43,670
‫Et donc, à cette requête, nous pouvons

151
00:06:43,670 --> 00:06:46,230
‫ensuite enchaîner une autre méthode de recherche, n'est-ce pas ?

152
00:06:46,230 --> 00:06:49,160
‫Et là-dedans, nous filtrons ensuite le secretTour en utilisant

153
00:06:49,160 --> 00:06:50,930
‫cet objet de filtre.

154
00:06:50,930 --> 00:06:51,763
‫D'accord?

155
00:06:51,763 --> 00:06:54,280
‫Donc, en gros, dire que nous ne voulons

156
00:06:54,280 --> 00:06:57,450
‫que des visites où le secretTour n'est pas égal à vrai.

157
00:06:57,450 --> 00:06:59,120
‫Et cela fonctionnerait en fait

158
00:06:59,120 --> 00:07:00,979
‫de la même manière si nous disions

159
00:07:00,979 --> 00:07:03,790
‫simplement ici, faux, mais je trouve cela plus propre comme ça.

160
00:07:03,790 --> 00:07:07,660
‫D'accord, il n'y a maintenant qu'une chose que nous devons corriger,

161
00:07:07,660 --> 00:07:10,140
‫car pour le moment ce middleware

162
00:07:10,140 --> 00:07:13,010
‫s'exécute pour find, mais pas pour find1.

163
00:07:13,010 --> 00:07:13,843
‫D'accord?

164
00:07:13,843 --> 00:07:17,023
‫Alors laissez-moi vous montrer le problème que nous pourrions avoir avec cela.

165
00:07:18,270 --> 00:07:23,120
‫Alors, euh, prenons l'ID de la tournée secrète.

166
00:07:23,120 --> 00:07:24,570
‫Nous avons donc

167
00:07:24,570 --> 00:07:29,570
‫la tournée secrète ici, et c'est son identifiant, et donc si nous avons une

168
00:07:31,370 --> 00:07:35,040
‫tournée, cela devrait nous donner la tournée super secrète ici.

169
00:07:35,040 --> 00:07:35,873
‫Droit?

170
00:07:35,873 --> 00:07:37,383
‫Et donc vous voyez que

171
00:07:37,383 --> 00:07:39,470
‫ce filtre que nous venons de construire dans

172
00:07:39,470 --> 00:07:41,630
‫le middleware ne fonctionne pas pour cette commande.

173
00:07:41,630 --> 00:07:42,463
‫D'accord?

174
00:07:42,463 --> 00:07:45,640
‫Et c'est parce que la fonction de gestion

175
00:07:45,640 --> 00:07:47,360
‫de cet itinéraire,

176
00:07:47,360 --> 00:07:51,560
‫comme vous vous en souvenez peut-être, utilise findByID, qui, dans les

177
00:07:51,560 --> 00:07:55,290
‫coulisses, est find1, et c'est donc différent de find.

178
00:07:55,290 --> 00:07:56,242
‫D'accord?

179
00:07:56,242 --> 00:08:01,242
‫Nous devons donc spécifier le même middleware également pour find1.

180
00:08:01,750 --> 00:08:03,610
‫Maintenant, il y a

181
00:08:03,610 --> 00:08:06,760
‫deux façons de le faire, et la première serait

182
00:08:06,760 --> 00:08:11,363
‫simplement d'aller de l'avant, de copier ce code, puis de mettre find1 ici.

183
00:08:12,210 --> 00:08:14,210
‫Mais ce n'est pas vraiment bon, et

184
00:08:14,210 --> 00:08:16,970
‫donc à la place, nous allons utiliser une expression régulière.

185
00:08:16,970 --> 00:08:20,530
‫Et c'est assez facile, et donc...

186
00:08:20,530 --> 00:08:22,700
‫Et permettez-moi en fait de dupliquer

187
00:08:22,700 --> 00:08:24,013
‫ceci ici, de

188
00:08:25,495 --> 00:08:28,360
‫commenter ce morceau, puis, rappelez-vous, une expression régulière commence

189
00:08:28,360 --> 00:08:30,550
‫et se termine par une barre oblique.

190
00:08:30,550 --> 00:08:32,500
‫Et puis ici, ce que je

191
00:08:32,500 --> 00:08:34,437
‫veux dire, c'est que ce

192
00:08:34,437 --> 00:08:36,510
‫middleware doit être exécuté non seulement pour

193
00:08:36,510 --> 00:08:40,450
‫find, mais pour toutes les commandes qui commencent par le nom find.

194
00:08:40,450 --> 00:08:41,283
‫D'accord?

195
00:08:41,283 --> 00:08:45,330
‫Donc, find et find1, et aussi find1 et delete, find1

196
00:08:45,330 --> 00:08:46,830
‫et update, et

197
00:08:46,830 --> 00:08:49,400
‫donc tout cela déclenchera maintenant cette fonction

198
00:08:49,400 --> 00:08:51,550
‫middleware que nous avons ici.

199
00:08:52,760 --> 00:08:53,890
‫D'accord?

200
00:08:53,890 --> 00:08:55,580
‫Donc, pas besoin de ça.

201
00:08:55,580 --> 00:08:58,510
‫Cette expression régulière ici est bien meilleure.

202
00:08:58,510 --> 00:08:59,878
‫Encore une fois, cela

203
00:08:59,878 --> 00:09:03,000
‫signifie simplement ici toutes les chaînes qui commencent par find.

204
00:09:03,000 --> 00:09:05,140
‫Et en fait, puisque nous sommes ici,

205
00:09:05,140 --> 00:09:07,883
‫permettez-moi de vous montrer à nouveau les documentations de Mongoose.

206
00:09:08,970 --> 00:09:13,240
‫Ainsi, lorsque nous irons ici, au middleware dans ces guides, vous aurez alors

207
00:09:13,240 --> 00:09:15,670
‫un aperçu de tous les middleware.

208
00:09:15,670 --> 00:09:16,557
‫Par exemple,

209
00:09:16,557 --> 00:09:19,041
‫le middleware de document est celui dont nous avons

210
00:09:19,041 --> 00:09:21,640
‫parlé précédemment, qui s'exécute, par exemple, lors de la sauvegarde.

211
00:09:21,640 --> 00:09:23,600
‫Mais en fait, le middleware de

212
00:09:23,600 --> 00:09:26,510
‫document peut également s'exécuter pour des choses comme la suppression.

213
00:09:26,510 --> 00:09:27,460
‫D'accord?

214
00:09:27,460 --> 00:09:28,840
‫Ou pour valider.

215
00:09:28,840 --> 00:09:31,220
‫D'accord, mais je n'en ai pas parlé

216
00:09:31,220 --> 00:09:34,750
‫car généralement celui que nous utilisons toujours est juste pour sauvegarder.

217
00:09:34,750 --> 00:09:37,590
‫Désormais, le middleware de requête peut s'exécuter pour toutes

218
00:09:37,590 --> 00:09:39,340
‫ces fonctions de requête.

219
00:09:39,340 --> 00:09:41,980
‫Donc find, comme nous venons de le

220
00:09:41,980 --> 00:09:43,780
‫spécifier, et maintenant, avec notre

221
00:09:43,780 --> 00:09:45,520
‫expression régulière, ça

222
00:09:45,520 --> 00:09:47,270
‫va aussi s'exécuter pour find1,

223
00:09:48,768 --> 00:09:50,518
‫findOneAndDelete, findOneAndRemove et findOneAndUpdate.

224
00:09:51,850 --> 00:09:55,130
‫Quoi qu'il en soit, revenant à Postman

225
00:09:55,130 --> 00:09:58,650
‫maintenant, cela devrait maintenant avoir résolu cette situation ici.

226
00:09:58,650 --> 00:10:01,210
‫Ainsi, lorsque nous exécutons maintenant cette requête, elle

227
00:10:01,210 --> 00:10:03,040
‫ne devrait avoir aucun résultat.

228
00:10:03,040 --> 00:10:04,800
‫Et en effet, ce n'est pas le cas.

229
00:10:04,800 --> 00:10:08,220
‫Parce que, rappelez-vous, nous essayions d'obtenir un Tour secret.

230
00:10:08,220 --> 00:10:10,370
‫Ainsi, la visite avec cet ID ici est

231
00:10:10,370 --> 00:10:12,520
‫secrète, mais nous ne voulons jamais que les

232
00:10:12,520 --> 00:10:14,380
‫visites secrètes s'affichent dans aucune requête.

233
00:10:14,380 --> 00:10:17,283
‫Et c'est pourquoi, en ce moment, nous n'obtenons aucun résultat.

234
00:10:18,190 --> 00:10:19,023
‫D'accord?

235
00:10:19,023 --> 00:10:20,510
‫Donc ça marche maintenant.

236
00:10:20,510 --> 00:10:22,160
‫N'enregistrez pas cela,

237
00:10:22,160 --> 00:10:24,230
‫et maintenant, revenons à notre code.

238
00:10:24,230 --> 00:10:25,900
‫Spécifions maintenant en fait

239
00:10:25,900 --> 00:10:28,333
‫également un post middleware pour find.

240
00:10:30,140 --> 00:10:35,140
‫Alors, tourSchema, puis, comme avant, postez, puis utilisons à nouveau notre

241
00:10:35,820 --> 00:10:38,510
‫expression régulière ici pour tout ce

242
00:10:38,510 --> 00:10:41,113
‫qui commence par find.

243
00:10:43,340 --> 00:10:45,240
‫Et puis juste une fonction normale,

244
00:10:45,240 --> 00:10:47,400
‫et puis ici, dans le middleware post-find, nous

245
00:10:47,400 --> 00:10:49,810
‫avons en fait accès à tous les documents que

246
00:10:49,810 --> 00:10:51,713
‫nous avons renvoyés à partir de la requête.

247
00:10:52,680 --> 00:10:54,573
‫Alors appelons ça Docs.

248
00:10:55,680 --> 00:10:56,780
‫D'accord?

249
00:10:56,780 --> 00:10:59,350
‫Alors, n'oubliez pas que ce middleware va

250
00:10:59,350 --> 00:11:02,280
‫s'exécuter après que la requête ait déjà été exécutée.

251
00:11:02,280 --> 00:11:04,100
‫Et donc, par conséquent, il peut avoir

252
00:11:04,100 --> 00:11:06,120
‫accès aux documents qui lui ont été restitués.

253
00:11:06,120 --> 00:11:07,900
‫Encore une fois, parce que cette

254
00:11:07,900 --> 00:11:10,033
‫requête est en fait déjà terminée à ce stade.

255
00:11:11,580 --> 00:11:15,510
‫Alors enregistrons ces documents sur la console, donc

256
00:11:15,510 --> 00:11:16,343
‫docs,

257
00:11:16,343 --> 00:11:20,360
‫mais je veux aussi faire autre chose ici.

258
00:11:20,360 --> 00:11:22,710
‫Donc, en gros, créons, en quelque sorte, une

259
00:11:22,710 --> 00:11:25,150
‫horloge pour mesurer le temps qu'il faut pour

260
00:11:25,150 --> 00:11:27,163
‫exécuter la requête en cours.

261
00:11:28,120 --> 00:11:28,953
‫D'accord?

262
00:11:28,953 --> 00:11:30,770
‫Alors, comment allons-nous faire ?

263
00:11:30,770 --> 00:11:32,680
‫Eh bien, assez simple.

264
00:11:32,680 --> 00:11:36,180
‫Nous pouvons simplement définir une propriété sur cet objet,

265
00:11:36,180 --> 00:11:39,810
‫car cet objet de requête n'est en réalité qu'un objet normal.

266
00:11:39,810 --> 00:11:42,570
‫Bien sûr, il a accès à toutes ces méthodes, telles

267
00:11:42,570 --> 00:11:43,760
‫que find, mais

268
00:11:43,760 --> 00:11:45,020
‫nous pouvons également l'utiliser pour

269
00:11:45,020 --> 00:11:47,283
‫définir n'importe quelle propriété que nous voulons dessus.

270
00:11:48,660 --> 00:11:51,000
‫Donc, encore une fois, juste un objet normal.

271
00:11:51,000 --> 00:11:53,410
‫Et donc ici, nous pouvons dire ceci. début doit

272
00:11:53,410 --> 00:11:55,333
‫être la date du jour.

273
00:11:56,410 --> 00:11:57,243
‫D'accord?

274
00:11:57,243 --> 00:11:59,380
‫Et donc cela le définira

275
00:11:59,380 --> 00:12:02,150
‫comme l'heure actuelle en millisecondes, d'accord ?

276
00:12:02,150 --> 00:12:05,320
‫Et donc, ici, dans le post middleware, qui va

277
00:12:05,320 --> 00:12:08,200
‫s'exécuter après l'exécution de la requête, nous pouvons

278
00:12:08,200 --> 00:12:10,310
‫alors soustraire l'heure actuelle moins

279
00:12:10,310 --> 00:12:11,603
‫l'heure de début.

280
00:12:14,640 --> 00:12:15,833
‫Alors consolez-vous. log, la

281
00:12:18,470 --> 00:12:19,583
‫requête a pris et

282
00:12:21,240 --> 00:12:22,600
‫maintenant la date actuelle moins

283
00:12:26,970 --> 00:12:28,073
‫celle-ci.

284
00:12:33,400 --> 00:12:34,423
‫début, millisecondes.

285
00:12:35,510 --> 00:12:38,295
‫D'accord, faisons une sauvegarde, et

286
00:12:38,295 --> 00:12:43,295
‫essayons maintenant d'exécuter une requête et de voir nos résultats.

287
00:12:45,090 --> 00:12:46,469
‫D'accord?

288
00:12:46,469 --> 00:12:48,390
‫Donc, nous avons ici toutes nos tournées,

289
00:12:48,390 --> 00:12:49,713
‫nous avons ici la

290
00:12:50,700 --> 00:12:52,140
‫console, et mettons cela au clair.

291
00:12:52,140 --> 00:12:53,740
‫Il y a plein de trucs là-dedans.

292
00:12:55,540 --> 00:12:56,763
‫Redemandez, et

293
00:12:58,340 --> 00:13:00,480
‫voici donc tous les résultats.

294
00:13:00,480 --> 00:13:03,210
‫Donc, en gros, ce sont toutes les tournées qui ont été trouvées, et

295
00:13:03,210 --> 00:13:06,490
‫c'est donc le résultat de la console. log de la doc.

296
00:13:06,490 --> 00:13:09,890
‫Donc, en gros, les documents qui correspondent à la requête.

297
00:13:09,890 --> 00:13:13,220
‫Mais je m'intéresse maintenant à cette première console. log, et donc,

298
00:13:13,220 --> 00:13:17,670
‫ici, nous voyons "La requête a pris 120 millisecondes", et c'était

299
00:13:17,670 --> 00:13:19,970
‫donc essentiellement le temps qui

300
00:13:19,970 --> 00:13:22,660
‫s'est écoulé depuis le début, où nous

301
00:13:22,660 --> 00:13:26,950
‫l'avons défini, jusqu'à l'exécution de la requête, à ce moment-là.

302
00:13:26,950 --> 00:13:27,783
‫D'accord.

303
00:13:27,783 --> 00:13:29,910
‫Et c'est tout ce que j'avais à vous

304
00:13:29,910 --> 00:13:31,550
‫montrer pour l'instant sur le middleware

305
00:13:31,550 --> 00:13:32,680
‫de requête, et comme

306
00:13:32,680 --> 00:13:34,370
‫avant, bien sûr, nous allons beaucoup

307
00:13:34,370 --> 00:13:35,380
‫l'utiliser tout

308
00:13:35,380 --> 00:13:37,450
‫au long du cours, car, comme je l'ai

309
00:13:37,450 --> 00:13:39,840
‫mentionné au début, le middleware est vraiment un concept

310
00:13:39,840 --> 00:13:42,010
‫fondamental c'est vraiment important pour beaucoup de choses

311
00:13:42,010 --> 00:13:44,060
‫dont nous avons besoin dans nos applications.

312
00:13:44,060 --> 00:13:46,140
‫Nous avons donc presque fini de parler de middleware.

313
00:13:46,140 --> 00:13:48,070
‫Ensuite vient le dernier, qui

314
00:13:48,070 --> 00:13:49,823
‫est le middleware d'agrégation.

