﻿1
00:00:01,100 --> 00:00:04,883
‫- : Dans cette vidéo, implémentons la mise à jour des documents.

2
00:00:06,250 --> 00:00:09,810
‫Et donc, ici, dans notre gestionnaire de tournée de mise à jour, commençons

3
00:00:09,810 --> 00:00:11,803
‫par en faire une fonction asynchrone.

4
00:00:14,650 --> 00:00:18,250
‫Ensuite, ou essayez catch block, et donc je le fais

5
00:00:18,250 --> 00:00:22,130
‫très rapidement maintenant, car nous sommes déjà habitués à cela à

6
00:00:22,130 --> 00:00:22,963
‫ce stade.

7
00:00:24,330 --> 00:00:25,180
‫Droit?

8
00:00:25,180 --> 00:00:28,210
‫Donc, cela va dans le bloc try, puis

9
00:00:28,210 --> 00:00:32,440
‫j'obtiens simplement celui-ci, ici, à partir du bloc catch de cette

10
00:00:33,450 --> 00:00:34,693
‫autre fonction.

11
00:00:36,130 --> 00:00:37,653
‫D'accord, donc.

12
00:00:39,230 --> 00:00:40,660
‫Nous y voilà.

13
00:00:40,660 --> 00:00:42,430
‫Et maintenant, ce que nous

14
00:00:42,430 --> 00:00:44,620
‫devons faire ici au début de ce

15
00:00:44,620 --> 00:00:47,140
‫bloc d'essai, c'est essentiellement rechercher le document que

16
00:00:47,140 --> 00:00:50,580
‫nous voulons mettre à jour, puis le mettre à jour, d'accord ?

17
00:00:50,580 --> 00:00:51,730
‫Et nous pouvons en

18
00:00:51,730 --> 00:00:54,250
‫fait faire tout cela en une seule commande avec mongoose.

19
00:00:54,250 --> 00:00:57,160
‫Et, rappelez-vous, encore une fois, que nous allons mettre à jour la

20
00:00:57,160 --> 00:00:59,370
‫tournée en fonction d'une pièce d'identité, d'accord ?

21
00:00:59,370 --> 00:01:03,320
‫Donc, c'est une situation similaire à celle-ci ici, où

22
00:01:03,320 --> 00:01:05,590
‫nous trouvons par ID.

23
00:01:05,590 --> 00:01:08,130
‫Et maintenant, nous pouvons en fait faire quelque chose de

24
00:01:08,130 --> 00:01:11,380
‫très similaire, qui est de trouver par ID et de mettre à jour.

25
00:01:11,380 --> 00:01:13,713
‫Encore une fois, tout dans une seule requête.

26
00:01:14,600 --> 00:01:16,790
‫Alors, faisons une tournée. findByID

27
00:01:20,400 --> 00:01:22,963
‫et mise à jour.

28
00:01:24,150 --> 00:01:27,520
‫D'accord, alors, qu'avons-nous besoin de passer ici ?

29
00:01:27,520 --> 00:01:31,290
‫Eh bien, bien sûr, l'ID, afin que nous puissions d'abord trouver le document

30
00:01:31,290 --> 00:01:33,313
‫qui doit être mis à jour.

31
00:01:34,620 --> 00:01:39,030
‫Donc, comme avant, c'est req. paramètres. ID, puis

32
00:01:39,030 --> 00:01:42,690
‫les données que nous voulons réellement modifier.

33
00:01:42,690 --> 00:01:44,750
‫Et ces données seront dans le corps, tout

34
00:01:44,750 --> 00:01:46,763
‫comme dans la demande de publication.

35
00:01:48,430 --> 00:01:51,330
‫Donc req. corps, d'accord ?

36
00:01:51,330 --> 00:01:53,470
‫Et puis, en fait, en tant que

37
00:01:53,470 --> 00:01:57,050
‫troisième argument, nous pouvons également corriger certaines options, et nous le ferons.

38
00:01:57,050 --> 00:02:00,600
‫Et la première option que je veux spécifier est

39
00:02:01,540 --> 00:02:03,690
‫nouvelle et définie sur true.

40
00:02:03,690 --> 00:02:06,760
‫Parce que de cette façon, le nouveau document mis à

41
00:02:06,760 --> 00:02:08,870
‫jour est celui qui sera renvoyé.

42
00:02:08,870 --> 00:02:11,810
‫Et puisque nous voulons renvoyer ce document mis

43
00:02:11,810 --> 00:02:14,410
‫à jour au client, nous voulons

44
00:02:14,410 --> 00:02:18,380
‫toujours que cette méthode renvoie réellement ce nouveau document, d'accord ?

45
00:02:18,380 --> 00:02:22,160
‫Ainsi, de cette façon, il est alors

46
00:02:22,160 --> 00:02:27,160
‫logique d'attendre cette requête, puis de l'enregistrer dans une nouvelle variable.

47
00:02:28,710 --> 00:02:30,720
‫Alors appelez-le simplement tour

48
00:02:30,720 --> 00:02:34,743
‫ici, puis à nouveau, attendez le résultat de cette requête.

49
00:02:35,640 --> 00:02:38,200
‫Donc, toutes ces méthodes que nous avons utilisées

50
00:02:38,200 --> 00:02:41,923
‫jusqu'à présent lors de la tournée, alors recherchez par ID et

51
00:02:43,220 --> 00:02:47,300
‫mettez à jour, ou, eh bien, ne créez pas vraiment, mais recherchez par

52
00:02:47,300 --> 00:02:51,350
‫ID ou recherchez, toutes celles-ci renverront des requêtes, elles sont donc des requêtes

53
00:02:51,350 --> 00:02:53,320
‫méthodes et laissez-moi vous montrer

54
00:02:53,320 --> 00:02:55,700
‫cela dans la documentation de la mangouste.

55
00:02:55,700 --> 00:02:58,510
‫Donc, jusqu'à présent, nous n'avons pas jeté un coup d'œil

56
00:02:58,510 --> 00:03:00,300
‫à la documentation jusqu'à présent.

57
00:03:00,300 --> 00:03:01,850
‫Et donc, faisons-le rapidement.

58
00:03:01,850 --> 00:03:05,080
‫Donc, sur le modèle, qui dans notre cas est tour, nous avons

59
00:03:05,080 --> 00:03:07,610
‫toutes ces méthodes de requête, n'est-ce pas ?

60
00:03:07,610 --> 00:03:11,920
‫Donc, vous voyez trouver, vous voyez en trouver un, vous voyez trouver par ID, ce

61
00:03:11,920 --> 00:03:14,530
‫qui n'est qu'un raccourci pour en trouver un.

62
00:03:14,530 --> 00:03:17,460
‫Ensuite, vous voyez rechercher par ID et mettre à

63
00:03:17,460 --> 00:03:19,320
‫jour, qui est celui que

64
00:03:19,320 --> 00:03:22,018
‫nous utilisons actuellement, et qui, en fait, n'est qu'un

65
00:03:22,018 --> 00:03:26,440
‫raccourci pour rechercher un et mettre à jour, où nous recherchons un identifiant, si

66
00:03:26,440 --> 00:03:30,380
‫similaire à ce que nous eu lors de la dernière leçon, d'accord ?

67
00:03:30,380 --> 00:03:33,630
‫Et en fait, nous pouvons cliquer sur n'importe lequel

68
00:03:33,630 --> 00:03:36,340
‫d'entre eux, alors faisons celui que nous

69
00:03:36,340 --> 00:03:39,931
‫utilisons actuellement, et cela nous amènera alors vraiment à la documentation

70
00:03:39,931 --> 00:03:43,560
‫de l'API qui nous montre comment vraiment utiliser une certaine méthode.

71
00:03:43,560 --> 00:03:46,650
‫Vous voyez donc que nous avons transmis l'ID,

72
00:03:46,650 --> 00:03:50,550
‫donc la valeur, à partir de l'ID à interroger, nous avons transmis

73
00:03:50,550 --> 00:03:55,320
‫l'objet avec les données à mettre à jour et nous avons transmis un objet options.

74
00:03:55,320 --> 00:03:57,410
‫Et ici, nous pouvons réellement voir

75
00:03:57,410 --> 00:03:59,770
‫les options que nous pouvons définir, alors

76
00:03:59,770 --> 00:04:03,360
‫rappelez-vous, nous avons simplement défini new sur true, et comme

77
00:04:03,360 --> 00:04:06,570
‫il est dit ici, cela renverra alors le document

78
00:04:06,570 --> 00:04:08,480
‫modifié plutôt que l'original.

79
00:04:08,480 --> 00:04:11,500
‫Maintenant, un autre que nous voulons réellement définir

80
00:04:11,500 --> 00:04:15,690
‫sur true est celui d'exécuter des validateurs, de sorte qu'à chaque fois que

81
00:04:15,690 --> 00:04:19,160
‫nous mettons à jour un certain document, les validateurs que nous

82
00:04:19,160 --> 00:04:22,334
‫avons spécifiés dans le schéma s'exécutent à nouveau, d'accord ?

83
00:04:22,334 --> 00:04:26,050
‫Et nous parlerons beaucoup des validateurs et de la validation un peu

84
00:04:26,050 --> 00:04:27,600
‫plus loin dans la section,

85
00:04:27,600 --> 00:04:31,770
‫mais je vais en rester là pour l'instant afin que nous, fondamentalement, ne

86
00:04:31,770 --> 00:04:32,743
‫l'oublions pas.

87
00:04:34,340 --> 00:04:35,530
‫D'accord?

88
00:04:35,530 --> 00:04:38,810
‫Sauvegardez-le maintenant, et en fait, je veux revenir ici juste

89
00:04:38,810 --> 00:04:40,880
‫pour vous montrer combien de

90
00:04:40,880 --> 00:04:43,210
‫méthodes nous avons réellement dans la mangouste.

91
00:04:43,210 --> 00:04:46,250
‫Donc, sur le modèle, nous avons toutes ces méthodes ici que

92
00:04:46,250 --> 00:04:47,753
‫vous voyez dans cette liste.

93
00:04:48,620 --> 00:04:51,300
‫Ainsi, par exemple, nous avons utilisé create avant, nous

94
00:04:51,300 --> 00:04:52,833
‫avons également utilisé find.

95
00:04:53,850 --> 00:04:54,683
‫D'accord?

96
00:04:54,683 --> 00:04:57,090
‫Et donc ceux que vous voyez ici en haut,

97
00:04:57,090 --> 00:04:59,350
‫ils sont disponibles directement sur le modèle, et

98
00:04:59,350 --> 00:05:01,363
‫ça, dans notre cas, c'est la tournée.

99
00:05:02,300 --> 00:05:04,320
‫Maintenant, ici vous, par exemple, voyez

100
00:05:04,320 --> 00:05:08,520
‫aussi le modèle. prototype. en toute sécurité par exemple.

101
00:05:08,520 --> 00:05:10,770
‫Et celui-ci, en fait, nous l'utilisions

102
00:05:10,770 --> 00:05:14,290
‫déjà dès que nous avons commencé à travailler avec la mangouste.

103
00:05:14,290 --> 00:05:16,650
‫Donc, je ne sais pas si vous êtes familier avec cela,

104
00:05:16,650 --> 00:05:20,070
‫mais dans le modèle de script java. prototype signifie toujours un

105
00:05:20,070 --> 00:05:23,560
‫objet créé à partir d'une classe, ou dans ce cas,

106
00:05:23,560 --> 00:05:25,330
‫créé à partir d'un modèle.

107
00:05:25,330 --> 00:05:29,010
‫Et donc, la méthode de sauvegarde ici, fait référence à une méthode

108
00:05:29,010 --> 00:05:32,530
‫de sauvegarde appelée sur un document et non sur une tournée.

109
00:05:32,530 --> 00:05:35,370
‫Et rappelez-vous que c'est exactement ce que nous avons fait.

110
00:05:35,370 --> 00:05:37,670
‫Et je pense que je l'ai toujours ici comme commentaire.

111
00:05:40,430 --> 00:05:41,550
‫Ouais, juste ici.

112
00:05:41,550 --> 00:05:45,717
‫Donc, nous avons eu un tour, cette nouvelle variable de tour ici

113
00:05:45,717 --> 00:05:48,600
‫qui a été créée à partir du

114
00:05:48,600 --> 00:05:53,220
‫modèle de tour, et donc ce nouveau tour ici a eu accès à la

115
00:05:53,220 --> 00:05:57,320
‫méthode save car cela fait partie de l'objet prototype de cette classe.

116
00:05:57,320 --> 00:06:00,280
‫Très bien, maintenant je ne veux pas vous ennuyer

117
00:06:00,280 --> 00:06:02,760
‫avec les principes fondamentaux du script Java,

118
00:06:02,760 --> 00:06:05,620
‫mais c'est important pour comprendre la documentation, d'accord ?

119
00:06:05,620 --> 00:06:09,320
‫Parce qu'à un moment donné, vous aurez besoin d'utiliser de la

120
00:06:09,320 --> 00:06:11,520
‫documentation, car la mangouste est yute.

121
00:06:11,520 --> 00:06:13,700
‫Et je vais en fait vous apprendre beaucoup de

122
00:06:13,700 --> 00:06:16,520
‫choses qui sont importantes tout au long de ce cours, mais parfois

123
00:06:16,520 --> 00:06:19,240
‫vous aurez toujours besoin de quelque chose que je ne vous ai

124
00:06:19,240 --> 00:06:20,740
‫pas montré dans ce cours.

125
00:06:20,740 --> 00:06:23,060
‫Et il est donc important que

126
00:06:23,060 --> 00:06:25,900
‫vous compreniez vraiment la documentation également, d'accord ?

127
00:06:25,900 --> 00:06:29,360
‫Et donc, encore une fois, quand vous voyez le modèle. prototype ici, vous

128
00:06:29,360 --> 00:06:31,810
‫savez que la méthode de sauvegarde

129
00:06:31,810 --> 00:06:34,800
‫ici va être disponible sur toutes les instances

130
00:06:34,800 --> 00:06:37,330
‫créées via un modèle, d'accord ?

131
00:06:37,330 --> 00:06:39,160
‫Et donc, pas le modèle lui-même.

132
00:06:39,160 --> 00:06:42,000
‫Ainsi, par exemple, si vous avez essayé la tournée. sauf que vous

133
00:06:42,000 --> 00:06:43,660
‫ne pourriez pas l'utiliser.

134
00:06:43,660 --> 00:06:46,960
‫Cela vous donnerait une erreur, mais à la place, si vous

135
00:06:46,960 --> 00:06:49,700
‫essayiez d'enregistrer sur un document créé lors de la

136
00:06:49,700 --> 00:06:52,120
‫visite, cela fonctionnerait bien sûr, d'accord ?

137
00:06:52,120 --> 00:06:53,840
‫J'espère que cela à du sens.

138
00:06:53,840 --> 00:06:56,670
‫Et, de toute façon, vous voyez que nous

139
00:06:56,670 --> 00:07:00,310
‫avons beaucoup d'autres choses, donc nous devons interroger, dont nous avons déjà

140
00:07:00,310 --> 00:07:04,030
‫parlé, parce que, par exemple, rechercher par ID et mettre à jour,

141
00:07:04,030 --> 00:07:08,320
‫ou trouver, ou trouver par ID, tout cela va renvoyer des objets de requête.

142
00:07:08,320 --> 00:07:10,860
‫Et donc, plus tard, quand nous allons implémenter

143
00:07:10,860 --> 00:07:15,150
‫des choses comme le tri ou le filtrage, nous utiliserons ensuite cet objet de requête.

144
00:07:15,150 --> 00:07:15,983
‫D'accord?

145
00:07:15,983 --> 00:07:19,751
‫Donc, revenons en arrière, nous avons un peu déraillé ici en regardant la

146
00:07:19,751 --> 00:07:22,210
‫documentation, mais, encore une fois, je pense qu'il

147
00:07:22,210 --> 00:07:24,230
‫est vraiment important de commencer à

148
00:07:24,230 --> 00:07:26,370
‫regarder la documentation, car un cours comme

149
00:07:26,370 --> 00:07:29,670
‫celui-ci ne peut vous mener que jusqu'à présent, et je J'espère

150
00:07:29,670 --> 00:07:32,570
‫que vous le savez déjà à ce stade, d'accord ?

151
00:07:32,570 --> 00:07:35,810
‫Il est vraiment important que vous soyez également capable de trouver

152
00:07:35,810 --> 00:07:38,450
‫des informations par vous-même, et je veux vous montrer

153
00:07:38,450 --> 00:07:40,560
‫comment le faire également dans ce cours.

154
00:07:40,560 --> 00:07:43,460
‫Quoi qu'il en soit, renvoyons également cette visite

155
00:07:43,460 --> 00:07:46,820
‫récemment mise à jour au client, ce que nous ne

156
00:07:46,820 --> 00:07:49,690
‫faisons pas pour le moment, car

157
00:07:49,690 --> 00:07:52,810
‫nous avons simplement cette visite mise à jour ici.

158
00:07:52,810 --> 00:07:56,470
‫Alors débarrassons-nous de cela et envoyons simplement en tournée.

159
00:07:56,470 --> 00:08:00,140
‫Et rappelez-vous que ceci, en fait, est en fait cela.

160
00:08:00,140 --> 00:08:03,940
‫Ainsi, la propriété tour est définie sur l'objet tour, mais, grâce à

161
00:08:03,940 --> 00:08:07,360
‫ES6, nous n'avons plus à le faire lorsque le

162
00:08:07,360 --> 00:08:11,160
‫nom de la propriété a le même nom que la valeur.

163
00:08:11,160 --> 00:08:13,310
‫D'accord, alors débarrassons-nous de ça.

164
00:08:13,310 --> 00:08:15,413
‫Cela rend notre code un peu meilleur.

165
00:08:17,350 --> 00:08:19,373
‫D'accord, et testons-le maintenant.

166
00:08:20,980 --> 00:08:25,980
‫De retour au facteur, nous avons ici l'itinéraire de la tournée mis à jour.

167
00:08:26,079 --> 00:08:27,960
‫Et donc, faisons-le sur

168
00:08:27,960 --> 00:08:30,983
‫ce même identifiant que nous avons utilisé auparavant.

169
00:08:34,310 --> 00:08:35,550
‫Alors, celui-ci.

170
00:08:35,550 --> 00:08:38,827
‫Ensuite, nous arrivons au corps, ici, et changeons--

171
00:08:39,761 --> 00:08:42,250
‫Eh bien, qu'allons-nous changer ici ?

172
00:08:42,250 --> 00:08:46,493
‫Eh bien, changeons le prix à, genre, 500.

173
00:08:48,040 --> 00:08:51,383
‫Donc, prix, 500, envoyez-le, et en effet

174
00:08:52,630 --> 00:08:55,700
‫cela nous donne l'objet nouvellement mis

175
00:08:55,700 --> 00:08:58,250
‫à jour avec le prix

176
00:08:58,250 --> 00:09:00,730
‫déjà fixé à 500.

177
00:09:00,730 --> 00:09:03,410
‫Et si nous obtenons maintenant toutes les tournées, cela devrait

178
00:09:03,410 --> 00:09:05,150
‫bien sûr être reflété ici.

179
00:09:05,150 --> 00:09:06,480
‫Et voilà.

180
00:09:06,480 --> 00:09:09,223
‫Mais maintenant, disons que nous le définissons sur une chaîne.

181
00:09:13,930 --> 00:09:15,920
‫Voyons ce qui se passe alors.

182
00:09:15,920 --> 00:09:17,930
‫Eh bien, nous obtenons en fait une erreur.

183
00:09:17,930 --> 00:09:21,090
‫Et c'est parce que nous avons réexécuté les validateurs.

184
00:09:21,090 --> 00:09:23,497
‫Alors, souviens-toi que nous avons-- Où

185
00:09:24,900 --> 00:09:25,760
‫est-ce ?

186
00:09:27,720 --> 00:09:28,553
‫Ah ouais, ici.

187
00:09:28,553 --> 00:09:32,070
‫Nous spécifions donc ici que les validateurs doivent être réexécutés.

188
00:09:32,070 --> 00:09:36,130
‫Et donc, en ce moment, le prix n'est plus un nombre comme

189
00:09:36,130 --> 00:09:38,050
‫on s'y attend, non ?

190
00:09:38,050 --> 00:09:41,580
‫Ainsi, dans un schéma, nous disons que le prix doit être

191
00:09:41,580 --> 00:09:44,580
‫un nombre, mais, bien sûr, le script java,

192
00:09:44,580 --> 00:09:49,290
‫ou la mangouste, en fait, ne peut pas, fondamentalement, convertir cette chaîne ici en nombre.

193
00:09:49,290 --> 00:09:50,820
‫Mais c'est ce que nous attendons.

194
00:09:50,820 --> 00:09:53,350
‫Donc, ici, il est dit que le genre devrait être le nombre.

195
00:09:53,350 --> 00:09:55,580
‫Et donc, par conséquent, cela nous donne

196
00:09:55,580 --> 00:09:58,540
‫une erreur, simplement parce que nous exécutons à nouveau les validateurs.

197
00:09:58,540 --> 00:10:01,530
‫Alors, remettons-le à 500 et ensuite, bien sûr,

198
00:10:01,530 --> 00:10:02,730
‫il reviendra.

199
00:10:02,730 --> 00:10:05,430
‫Très bien, maintenant, gardez à l'esprit que nous sommes en

200
00:10:05,430 --> 00:10:07,750
‫train de faire une demande de correctif ici.

201
00:10:07,750 --> 00:10:11,000
‫Maintenant, si nous faisions une requête put, rappelez-vous, alors

202
00:10:11,000 --> 00:10:13,670
‫vous vous attendriez à ce que l'objet d'origine

203
00:10:13,670 --> 00:10:15,190
‫soit complètement remplacé

204
00:10:15,190 --> 00:10:18,150
‫par le nouveau qui est envoyé, d'accord ?

205
00:10:18,150 --> 00:10:20,280
‫Donc, dans ce cas, cela ne

206
00:10:20,280 --> 00:10:22,272
‫fonctionnerait plus comme nous l'avons

207
00:10:22,272 --> 00:10:25,420
‫implémenté ici, car celui-ci a simplement mis à jour

208
00:10:25,420 --> 00:10:29,360
‫les champs qui sont différents ici dans le corps, d'accord ?

209
00:10:29,360 --> 00:10:32,150
‫Mais de toute façon, je pense que la

210
00:10:32,150 --> 00:10:34,400
‫méthode patch est en fait bien

211
00:10:34,400 --> 00:10:38,490
‫plus utile, et donc, ce sera la seule à être implémentée ici.

212
00:10:38,490 --> 00:10:42,300
‫Cool, nous avons donc implémenté trois de nos quatre opérations

213
00:10:42,300 --> 00:10:44,910
‫correctes, il n'en reste plus qu'une, qui

214
00:10:44,910 --> 00:10:46,463
‫va être supprimée.

