﻿1
00:00:01,130 --> 00:00:02,940
‫Instructeur : Alors maintenant

2
00:00:02,940 --> 00:00:04,910
‫que vous connaissez les bases

3
00:00:04,910 --> 00:00:07,240
‫de Mongoose en implémentant les quatre

4
00:00:07,240 --> 00:00:11,440
‫opérations correctes, il s'agit maintenant d'améliorer un peu nos données de

5
00:00:11,440 --> 00:00:14,423
‫tournée afin de rendre les tournées plus complètes.

6
00:00:15,990 --> 00:00:20,240
‫Donc, à ce stade, nos documents de tournée ne peuvent avoir qu'un

7
00:00:20,240 --> 00:00:22,410
‫nom, une note et un prix.

8
00:00:22,410 --> 00:00:25,060
‫Mais bien sûr, nous avons besoin de beaucoup

9
00:00:25,060 --> 00:00:29,320
‫plus de données ici, car l'objectif est d'avoir une API très riche

10
00:00:29,320 --> 00:00:30,940
‫en données, comme celle-ci.

11
00:00:30,940 --> 00:00:33,390
‫Jetons donc un coup d'œil à la version

12
00:00:33,390 --> 00:00:35,453
‫finale en fait ici comme référence.

13
00:00:36,660 --> 00:00:39,010
‫Et c'est donc celui-ci ici.

14
00:00:39,010 --> 00:00:41,230
‫Et donc nous avons toutes les

15
00:00:41,230 --> 00:00:44,330
‫tournées, et ça va ressembler un peu à ça.

16
00:00:44,330 --> 00:00:46,620
‫D'accord, vous voyez donc que sur chaque

17
00:00:46,620 --> 00:00:49,750
‫tournée, nous avons un lieu de départ, nous avons des notes moyennes,

18
00:00:49,750 --> 00:00:52,543
‫la quantité de notes, des images, des dates de début.

19
00:00:53,410 --> 00:00:57,400
‫Guides, nom, durée, taille maximale du groupe, difficulté,

20
00:00:57,400 --> 00:00:58,910
‫prix, résumé,

21
00:00:58,910 --> 00:01:01,323
‫description, couverture de l'image, emplacements.

22
00:01:02,930 --> 00:01:07,930
‫Même une limace, des critiques, la durée en semaines et l'ID.

23
00:01:07,960 --> 00:01:10,070
‫Vous voyez donc beaucoup de données, et

24
00:01:10,070 --> 00:01:12,860
‫nous n'allons pas ajouter toutes les données de

25
00:01:12,860 --> 00:01:14,260
‫cette conférence ici.

26
00:01:14,260 --> 00:01:17,750
‫Il y a certaines pièces que nous ne pouvons pas

27
00:01:17,750 --> 00:01:22,330
‫encore ajouter, mais nous pouvons bien sûr le rendre un peu plus complet, d'accord ?

28
00:01:22,330 --> 00:01:27,193
‫Et en fait, enregistrons ceci ici, comme référence, et obtenons toutes les

29
00:01:30,560 --> 00:01:33,550
‫visites, et je vais le mettre en

30
00:01:34,630 --> 00:01:36,770
‫dehors de n'importe quel dossier.

31
00:01:36,770 --> 00:01:39,643
‫Alors mettons-le juste ici en haut.

32
00:01:40,810 --> 00:01:43,310
‫Et cela ne fonctionne pas pour une raison quelconque.

33
00:01:43,310 --> 00:01:45,060
‫D'accord, mettons-le ici, alors.

34
00:01:47,680 --> 00:01:50,903
‫Bon, allons-y, c'est

35
00:01:52,390 --> 00:01:53,550
‫correct.

36
00:01:53,550 --> 00:01:55,570
‫Et encore une fois, je le laisse

37
00:01:55,570 --> 00:01:58,400
‫ici, afin de continuer à comparer ce que nous avons

38
00:01:58,400 --> 00:02:00,330
‫avec ce que nous visons.

39
00:02:00,330 --> 00:02:02,870
‫Bref, revenons en arrière et commençons par

40
00:02:02,870 --> 00:02:05,250
‫ce que nous avons déjà, et nous

41
00:02:05,250 --> 00:02:06,560
‫avons le nom.

42
00:02:06,560 --> 00:02:08,520
‫Et donc c'est déjà assez bien,

43
00:02:08,520 --> 00:02:11,000
‫donc pour l'instant je vais laisser ça comme ça.

44
00:02:11,000 --> 00:02:16,000
‫Donc le nom, puis on veut aussi une durée.

45
00:02:19,780 --> 00:02:24,780
‫Et cette durée est un nombre, et elle est requise.

46
00:02:26,570 --> 00:02:29,990
‫Donc, définissez-le sur vrai, et le

47
00:02:29,990 --> 00:02:33,603
‫message est qu'une visite doit avoir une durée.

48
00:02:35,100 --> 00:02:38,450
‫Donc, ces validateurs requis ici sont essentiellement les seuls

49
00:02:38,450 --> 00:02:40,870
‫validateurs que je vais ajouter à

50
00:02:40,870 --> 00:02:43,920
‫chacun de ces champs ici pour le moment.

51
00:02:43,920 --> 00:02:46,120
‫Plus tard, lorsque nous parlerons plus

52
00:02:46,120 --> 00:02:48,790
‫en détail des validateurs, nous en ajouterons beaucoup plus.

53
00:02:48,790 --> 00:02:50,700
‫Mais encore une fois, pour l'instant,

54
00:02:50,700 --> 00:02:54,150
‫je veux juste rendre certains de ces champs, pas tous, obligatoires.

55
00:02:54,150 --> 00:02:56,110
‫Ensuite, nous avons la taille du groupe.

56
00:02:56,110 --> 00:02:58,640
‫Donc, en gros, combien de personnes peuvent

57
00:02:58,640 --> 00:03:01,030
‫au maximum participer à une tournée.

58
00:03:01,030 --> 00:03:03,560
‫Et donc j'appelle celui-ci le maxGroupSize.

59
00:03:06,530 --> 00:03:09,793
‫Et donc cela devrait encore

60
00:03:12,330 --> 00:03:17,070
‫être un nombre, et c'est encore une fois requis.

61
00:03:17,070 --> 00:03:22,070
‫La visite doit avoir une taille de groupe.

62
00:03:24,150 --> 00:03:25,900
‫N'oubliez pas la virgule ici.

63
00:03:25,900 --> 00:03:28,653
‫Ensuite, nous avons également besoin d'une difficulté.

64
00:03:36,010 --> 00:03:39,470
‫Et celle-ci est une chaîne, et plus tard, nous

65
00:03:39,470 --> 00:03:42,080
‫définirons qu'elle doit être moyenne, facile

66
00:03:42,080 --> 00:03:44,920
‫ou difficile, mais encore une fois, c'est

67
00:03:44,920 --> 00:03:47,040
‫en fait un validateur,

68
00:03:47,040 --> 00:03:50,130
‫et je vais laisser cela pour plus tard.

69
00:03:50,130 --> 00:03:52,440
‫Bon, pour l'instant, je dis juste que

70
00:03:52,440 --> 00:03:54,423
‫ça devrait avoir une difficulté.

71
00:03:58,640 --> 00:04:02,100
‫Ensuite, parlons des cotes.

72
00:04:02,100 --> 00:04:05,010
‫Donc maintenant, nous avons un champ appelé Note, mais en

73
00:04:05,010 --> 00:04:07,080
‫fait nous voulons avoir un champ pour

74
00:04:07,080 --> 00:04:08,610
‫la moyenne des notes

75
00:04:08,610 --> 00:04:10,930
‫et un champ pour la quantité des notes.

76
00:04:10,930 --> 00:04:13,620
‫Donc, fondamentalement, le nombre de notes qu'il y a.

77
00:04:13,620 --> 00:04:17,430
‫Ainsi, plus tard, il y aura une autre ressource appelée avis,

78
00:04:17,430 --> 00:04:20,080
‫où les utilisateurs pourront écrire des avis sur

79
00:04:20,080 --> 00:04:22,330
‫les visites et donner des notes.

80
00:04:22,330 --> 00:04:25,030
‫Et ce sera une ressource complètement différente,

81
00:04:25,030 --> 00:04:27,060
‫et un modèle complètement différent.

82
00:04:27,060 --> 00:04:29,770
‫Mais encore, nous voulons avoir fondamentalement un

83
00:04:29,770 --> 00:04:33,660
‫résumé de ces évaluations et de ces critiques ici dans les tournées.

84
00:04:33,660 --> 00:04:36,630
‫D'accord, et vous apprendrez les raisons un peu plus tard

85
00:04:36,630 --> 00:04:41,240
‫une fois que nous aurons commencé comment et pourquoi nous modélisons les données dans les bases

86
00:04:41,240 --> 00:04:43,900
‫de données NoSQL, et en particulier dans MongoDB.

87
00:04:43,900 --> 00:04:47,913
‫D'accord, pour l'instant, ajoutons simplement la moyenne des notes et

88
00:04:49,150 --> 00:04:50,920
‫la quantité des notes.

89
00:04:50,920 --> 00:04:53,220
‫D'accord, nous laissons cela ici comme

90
00:04:53,220 --> 00:04:54,643
‫nombre, et avec

91
00:04:55,500 --> 00:04:58,590
‫cette valeur par défaut, et la quantité d'évaluations, ratingsQuantity.

92
00:05:00,930 --> 00:05:03,803
‫Cela devrait bien sûr aussi être un nombre,

93
00:05:06,490 --> 00:05:09,160
‫et la valeur par défaut sera zéro.

94
00:05:09,160 --> 00:05:11,060
‫Car bien sûr, au début, il

95
00:05:11,060 --> 00:05:14,183
‫n'y aura absolument aucune critique, quand la tournée est nouvelle.

96
00:05:15,590 --> 00:05:18,680
‫Maintenant, je n'ai pas donné à ces deux propriétés

97
00:05:18,680 --> 00:05:21,580
‫ici une valeur requise, car ce n'est pas l'utilisateur

98
00:05:21,580 --> 00:05:22,960
‫qui crée ces

99
00:05:22,960 --> 00:05:26,100
‫visites qui spécifiera réellement ces valeurs, n'est-ce pas ?

100
00:05:26,100 --> 00:05:27,720
‫Donc, lorsque nous

101
00:05:27,720 --> 00:05:30,310
‫créons une nouvelle tournée, nous ne spécifierons

102
00:05:30,310 --> 00:05:32,260
‫jamais les notesAverage, ni les

103
00:05:32,260 --> 00:05:34,720
‫notesQuantity, car cela sera plus tard

104
00:05:34,720 --> 00:05:37,570
‫calculé à partir des vraies critiques, d'accord ?

105
00:05:37,570 --> 00:05:40,040
‫Ensuite, nous avons le prix ici, donc

106
00:05:40,040 --> 00:05:41,920
‫c'est bien comme ça,

107
00:05:41,920 --> 00:05:44,403
‫et nous pourrions aussi avoir une remise.

108
00:05:45,390 --> 00:05:47,110
‫Supposons donc que cette

109
00:05:47,110 --> 00:05:51,260
‫entreprise, donc Natours, souhaite accorder une réduction sur l'un des circuits à

110
00:05:51,260 --> 00:05:53,250
‫un moment donné, et qu'elle puisse

111
00:05:53,250 --> 00:05:55,463
‫donc également spécifier un prix réduit ici.

112
00:05:57,090 --> 00:06:00,850
‫Donc priceDiscount, et donc mettons-le ici au numéro.

113
00:06:00,850 --> 00:06:03,220
‫Nous n'avons pas besoin d'options de type de schéma ici.

114
00:06:03,220 --> 00:06:04,970
‫Par exemple, ce n'est pas obligatoire,

115
00:06:04,970 --> 00:06:07,270
‫et donc pour l'instant, laissons les choses comme ça.

116
00:06:08,170 --> 00:06:12,313
‫Ensuite, nous pouvons spécifier un résumé de la visite.

117
00:06:14,120 --> 00:06:17,283
‫Le résumé est donc de type String.

118
00:06:19,250 --> 00:06:22,040
‫Mais je ne le rendrai pas vraiment obligatoire.

119
00:06:22,040 --> 00:06:24,540
‫D'accord, et c'est simplement parce que ce n'est

120
00:06:24,540 --> 00:06:27,070
‫pas sur la première page de notre site Web.

121
00:06:27,070 --> 00:06:29,940
‫D'accord, donc en gros, ce n'est pas sur la vue d'ensemble.

122
00:06:29,940 --> 00:06:31,800
‫Et je vais vous montrer cela dans une

123
00:06:31,800 --> 00:06:33,070
‫seconde, mais pour l'instant,

124
00:06:33,070 --> 00:06:36,330
‫permettez-moi d'ajouter ici une autre option de type de schéma que je ne vous

125
00:06:36,330 --> 00:06:37,910
‫ai pas encore montrée, qui s'appelle trim.

126
00:06:37,910 --> 00:06:40,513
‫Et la garniture ne fonctionne que pour les cordes.

127
00:06:41,820 --> 00:06:43,650
‫Et je vais le mettre à vrai.

128
00:06:43,650 --> 00:06:46,710
‫Alors rappelez-vous comment j'ai dit qu'il existe différents types de

129
00:06:46,710 --> 00:06:49,030
‫schémas pour différents types ici, et donc

130
00:06:49,030 --> 00:06:52,320
‫pour la chaîne, nous avons un type de schéma qui est

131
00:06:52,320 --> 00:06:54,430
‫trim qui supprimera tous les espaces

132
00:06:54,430 --> 00:06:57,310
‫blancs au début et à la fin de la chaîne.

133
00:06:57,310 --> 00:07:00,363
‫D'accord, et donc si quelqu'un entre,

134
00:07:01,570 --> 00:07:06,360
‫par exemple, cette tournée, bla bla bla, n'a pas d'importance.

135
00:07:06,360 --> 00:07:08,720
‫Donc, si quelqu'un entre ceci, alors

136
00:07:08,720 --> 00:07:10,940
‫tous ces espaces à la

137
00:07:10,940 --> 00:07:13,473
‫fin et au début ici seront coupés.

138
00:07:15,190 --> 00:07:17,870
‫Et effectivement, on peut mettre la même chose sur le

139
00:07:17,870 --> 00:07:19,003
‫nom, par exemple, ici.

140
00:07:20,810 --> 00:07:22,223
‫D'accord, pourquoi pas ?

141
00:07:23,350 --> 00:07:24,720
‫Alors laissons ça comme ça.

142
00:07:24,720 --> 00:07:27,430
‫Ici, je vois que cela s'appelle en fait durée,

143
00:07:27,430 --> 00:07:28,403
‫pas durées.

144
00:07:30,450 --> 00:07:35,240
‫Très bien, c'est donc le résumé, qui est également mal orthographié.

145
00:07:35,240 --> 00:07:37,110
‫Donc résumé comme ça.

146
00:07:37,110 --> 00:07:38,977
‫Oh, et oui, maintenant je voulais vous montrer

147
00:07:38,977 --> 00:07:40,633
‫le site Web de Natours, en fait.

148
00:07:42,090 --> 00:07:44,593
‫Nous revenons donc à notre documentation Mongoose.

149
00:07:46,890 --> 00:07:48,890
‫Mais c'est ce que je veux vous montrer.

150
00:07:48,890 --> 00:07:53,540
‫Donc Natours. dev, qui est l'original de cette application, et

151
00:07:53,540 --> 00:07:56,740
‫donc ce sont les données que nous avons dans notre API, et dont

152
00:07:56,740 --> 00:07:59,380
‫nous avons aussi bien sûr besoin dans la base de données.

153
00:07:59,380 --> 00:08:00,770
‫Nous avons donc toutes ces données.

154
00:08:00,770 --> 00:08:05,260
‫Donc ce nom de tournée, nous avons la difficulté, nous avons la durée,

155
00:08:05,260 --> 00:08:07,800
‫nous avons, c'est un résumé, puis nous avons

156
00:08:07,800 --> 00:08:10,930
‫un lieu de départ, nous avons le nombre de

157
00:08:10,930 --> 00:08:13,050
‫lieux, nous avons une date de

158
00:08:13,050 --> 00:08:14,800
‫début, nous avons la taille

159
00:08:14,800 --> 00:08:17,602
‫maximale du groupe en ici, et nous devons

160
00:08:17,602 --> 00:08:19,810
‫évaluer, la moyenne des notes, la

161
00:08:19,810 --> 00:08:21,193
‫quantité de notes.

162
00:08:22,050 --> 00:08:23,683
‫Nous avons également une image ici.

163
00:08:24,600 --> 00:08:27,833
‫Et puis ici, sur la page des détails, c'est là que

164
00:08:30,045 --> 00:08:32,120
‫nous avons, nous avons le résumé ici.

165
00:08:32,120 --> 00:08:36,330
‫Nous avons les guides que je viens de vous montrer dans Postman auparavant.

166
00:08:36,330 --> 00:08:38,080
‫Nous avons d'autres images.

167
00:08:38,080 --> 00:08:40,970
‫Nous avons ici tous les emplacements, et nous

168
00:08:40,970 --> 00:08:42,673
‫avons tous les avis.

169
00:08:44,220 --> 00:08:47,570
‫D'accord, comme je vous le disais, toutes les données

170
00:08:47,570 --> 00:08:51,340
‫ne sont pas sur la page Aperçu, et donc toutes

171
00:08:51,340 --> 00:08:54,500
‫les données ne sont pas également requises.

172
00:08:54,500 --> 00:08:57,623
‫Bon, revenons ici.

173
00:08:58,490 --> 00:09:01,333
‫Ensuite, je veux ajouter une description.

174
00:09:06,510 --> 00:09:10,283
‫Et il s'agit d'un type de chaîne, et

175
00:09:11,850 --> 00:09:14,740
‫définissons à nouveau trim sur true.

176
00:09:14,740 --> 00:09:16,520
‫Et je viens de me rappeler

177
00:09:16,520 --> 00:09:19,250
‫que le résumé se trouve en fait sur la page Aperçu.

178
00:09:19,250 --> 00:09:22,280
‫Et rendons donc celui-ci obligatoire.

179
00:09:22,280 --> 00:09:24,223
‫Donc vous ajoutez ici

180
00:09:27,010 --> 00:09:27,843
‫à

181
00:09:30,220 --> 00:09:34,010
‫la fin, vrai, une visite doit avoir une description.

182
00:09:34,010 --> 00:09:39,010
‫D'accord, ensuite, nous allons spécifier l'imageCover.

183
00:09:42,344 --> 00:09:45,320
‫Et ce sont donc les images que vous voyez sur

184
00:09:45,320 --> 00:09:48,463
‫la page de présentation et définissons donc celle-ci pour exiger ce rôle.

185
00:09:50,060 --> 00:09:52,880
‫Le type doit donc être chaîne, car en

186
00:09:52,880 --> 00:09:55,670
‫gros, ce sera simplement le nom de l'image

187
00:09:55,670 --> 00:09:57,860
‫ici, que nous pourrons ensuite

188
00:09:57,860 --> 00:10:01,050
‫lire plus tard à partir du système de fichiers.

189
00:10:01,050 --> 00:10:03,850
‫D'accord, donc vraiment juste le nom de l'image.

190
00:10:03,850 --> 00:10:07,040
‫Donc, fondamentalement, une référence sera stockée dans la base de données.

191
00:10:07,040 --> 00:10:09,530
‫Et c'est une pratique très courante, d'accord ?

192
00:10:09,530 --> 00:10:13,270
‫Nous pourrions donc également stocker l'image entière dans une base de données, mais

193
00:10:13,270 --> 00:10:15,400
‫ce n'est généralement pas une bonne idée.

194
00:10:15,400 --> 00:10:18,860
‫Nous laissons simplement les images quelque part dans le système de fichiers, puis mettons

195
00:10:18,860 --> 00:10:21,340
‫le nom de l'image elle-même dans la base de

196
00:10:21,340 --> 00:10:22,823
‫données en tant que champ.

197
00:10:24,370 --> 00:10:27,493
‫Réglez-le donc sur requis, vrai,

198
00:10:28,560 --> 00:10:32,990
‫une visite doit avoir une image de couverture.

199
00:10:32,990 --> 00:10:36,550
‫Bien, le suivant est le reste des images.

200
00:10:36,550 --> 00:10:39,810
‫Et maintenant, ici, nous avons quelque chose de nouveau, d'accord ?

201
00:10:39,810 --> 00:10:41,740
‫Parce que nous avons plusieurs images

202
00:10:41,740 --> 00:10:44,750
‫et que je souhaite enregistrer ces images sous forme de tableau.

203
00:10:44,750 --> 00:10:47,010
‫Et en fait, comme un tableau de chaînes.

204
00:10:47,010 --> 00:10:50,110
‫Et donc la façon de le faire est

205
00:10:50,110 --> 00:10:54,260
‫de simplifier, de spécifier ici un tableau de chaînes, comme ceci.

206
00:10:54,260 --> 00:10:57,330
‫Je veux donc qu'il soit toujours de type chaîne, mais je

207
00:10:57,330 --> 00:10:59,230
‫veux que ce soit un tableau.

208
00:10:59,230 --> 00:11:02,580
‫Donc un tableau dans lequel nous avons un certain nombre de chaînes.

209
00:11:02,580 --> 00:11:06,441
‫Et c'est comme ça que je peux définir ça, d'accord ?

210
00:11:06,441 --> 00:11:09,100
‫Et nous l'utiliserons plus tard pour autre chose.

211
00:11:09,100 --> 00:11:11,750
‫Et donc nous transmettrons en fait

212
00:11:11,750 --> 00:11:14,680
‫plus d'options de type de schéma qu'un simple

213
00:11:14,680 --> 00:11:18,660
‫type, et d'ici là, nous l'utiliserons à nouveau, d'accord ?

214
00:11:18,660 --> 00:11:21,170
‫Pour l'instant, passons à autre chose,

215
00:11:21,170 --> 00:11:23,970
‫et le champ suivant que je voulais

216
00:11:23,970 --> 00:11:26,207
‫ajouter ici est le createdAt.

217
00:11:26,207 --> 00:11:29,230
‫Et le champ createdAt devrait essentiellement être

218
00:11:29,230 --> 00:11:33,290
‫un horodatage défini au moment où l'utilisateur obtient une nouvelle visite.

219
00:11:33,290 --> 00:11:36,433
‫Donc ceci ici devrait bien sûr être ajouté automatiquement.

220
00:11:37,660 --> 00:11:40,580
‫Encore une fois, au moment où la tournée est créée.

221
00:11:40,580 --> 00:11:42,580
‫Alors comment fait-on ?

222
00:11:42,580 --> 00:11:46,560
‫Eh bien, tout d'abord, nous définissons le type sur Date.

223
00:11:46,560 --> 00:11:50,840
‫Donc Data est encore un autre type de données JavaScript intégré, et nous

224
00:11:50,840 --> 00:11:52,253
‫pouvons donc l'utiliser ici.

225
00:11:53,510 --> 00:11:56,210
‫D'accord, le type est donc Date, et nous

226
00:11:56,210 --> 00:11:59,010
‫devons simplement définir une valeur par défaut, et

227
00:11:59,010 --> 00:12:00,840
‫la valeur par défaut

228
00:12:00,840 --> 00:12:04,870
‫est la fonction JavaScript intégrée Date. maintenant.

229
00:12:04,870 --> 00:12:07,570
‫Et je suis sûr que vous connaissez celui-ci.

230
00:12:07,570 --> 00:12:11,390
‫Cela nous donnera donc simplement un horodatage en

231
00:12:11,390 --> 00:12:15,140
‫millisecondes, qui représente essentiellement la milliseconde actuelle.

232
00:12:15,140 --> 00:12:16,740
‫D'accord, maintenant dans

233
00:12:16,740 --> 00:12:20,390
‫Mongo, cela est maintenant immédiatement converti en date

234
00:12:20,390 --> 00:12:24,153
‫d'aujourd'hui afin de mieux comprendre ces données, d'accord ?

235
00:12:25,650 --> 00:12:30,650
‫Alors oui, c'est l'horodatage créé automatiquement.

236
00:12:30,900 --> 00:12:35,900
‫Et maintenant, enfin, nous devons également transmettre un tableau de dates.

237
00:12:36,400 --> 00:12:38,650
‫Et maintenant enfin, pour finir pour

238
00:12:38,650 --> 00:12:43,033
‫le moment, nous voulons également pouvoir définir un tableau de dates de début.

239
00:12:44,836 --> 00:12:49,500
‫Donc startDates, et encore une fois, nous définissons simplement un tableau,

240
00:12:49,500 --> 00:12:52,470
‫puis disons que nous voulons des dates.

241
00:12:52,470 --> 00:12:56,240
‫D'accord, donc ces startDates sont essentiellement des dates différentes

242
00:12:56,240 --> 00:12:58,400
‫auxquelles une tournée commence.

243
00:12:58,400 --> 00:13:00,540
‫Par exemple, nous pouvons avoir une

244
00:13:00,540 --> 00:13:02,280
‫tournée commençant en décembre

245
00:13:02,280 --> 00:13:04,660
‫de cette année, puis en février, l'année

246
00:13:04,660 --> 00:13:06,580
‫suivante, puis une autre en

247
00:13:06,580 --> 00:13:09,160
‫été, et ainsi des dates différentes pour la

248
00:13:09,160 --> 00:13:11,030
‫même tournée sont simplement différentes,

249
00:13:11,030 --> 00:13:14,550
‫disons, des instances de la tournée commençant à des dates différentes.

250
00:13:14,550 --> 00:13:16,610
‫D'accord, j'espère que cela a du sens.

251
00:13:16,610 --> 00:13:19,730
‫Quoi qu'il en soit, celui-ci ici ne sera

252
00:13:19,730 --> 00:13:23,360
‫pas automatiquement créé par MongoDB, et MongoDB essaiera alors automatiquement

253
00:13:23,360 --> 00:13:27,000
‫d'analyser la chaîne que nous avons passée comme date en

254
00:13:27,000 --> 00:13:28,930
‫une vraie date JavaScript.

255
00:13:28,930 --> 00:13:31,790
‫Par exemple, nous pourrions transmettre quelque

256
00:13:31,790 --> 00:13:36,580
‫chose comme disons 2021, le 21 mars, et encore une

257
00:13:36,580 --> 00:13:39,150
‫fois, Mongo analyserait automatiquement cela

258
00:13:39,150 --> 00:13:41,199
‫comme une date.

259
00:13:41,199 --> 00:13:42,820
‫Vous pouvez également spécifier la date.

260
00:13:42,820 --> 00:13:47,820
‫Par exemple, dites 11 et 32 minutes, d'accord.

261
00:13:48,210 --> 00:13:51,800
‫Ou nous pourrions aussi simplement entrer un horodatage Unix, donc

262
00:13:51,800 --> 00:13:54,610
‫un horodatage comme dans ce format ici.

263
00:13:54,610 --> 00:13:56,970
‫D'accord, et donc tous ces

264
00:13:56,970 --> 00:14:01,200
‫formats, en gros, Mongo essaiera de les analyser en une date.

265
00:14:01,200 --> 00:14:03,853
‫Et seulement s'il ne peut pas, il lancera alors une erreur.

266
00:14:04,762 --> 00:14:06,980
‫(expire) C'était donc beaucoup de travail.

267
00:14:06,980 --> 00:14:08,730
‫Faisons une sauvegarde ici.

268
00:14:08,730 --> 00:14:11,530
‫Et la façon dont nous pouvons ensuite essayer cela est

269
00:14:11,530 --> 00:14:13,850
‫d'aller ici à nos données de développement, où

270
00:14:13,850 --> 00:14:16,380
‫nous avons ce tour-simple. json, qui est

271
00:14:16,380 --> 00:14:19,343
‫celui que nous avons utilisé dans une section précédente.

272
00:14:20,370 --> 00:14:21,790
‫D'accord.

273
00:14:21,790 --> 00:14:23,190
‫Et donc tout

274
00:14:23,190 --> 00:14:26,023
‫ce que je vais faire ici est de récupérer

275
00:14:28,070 --> 00:14:33,070
‫toutes ces données ici, puis de les utiliser pour créer une nouvelle demande, d'accord ?

276
00:14:34,920 --> 00:14:38,170
‫Nous voulons donc créer une nouvelle requête POST ici, et

277
00:14:38,170 --> 00:14:39,500
‫avec toutes ces

278
00:14:39,500 --> 00:14:41,650
‫données, au lieu de devoir l'écrire manuellement.

279
00:14:42,660 --> 00:14:44,920
‫D'accord, alors collez tout ça ici.

280
00:14:46,320 --> 00:14:49,580
‫Et maintenant en effet, nous n'avons pas besoin de l'ID.

281
00:14:49,580 --> 00:14:50,750
‫Nous en avions

282
00:14:50,750 --> 00:14:53,620
‫donc besoin avant, lorsque nous faisions notre API basée

283
00:14:53,620 --> 00:14:57,200
‫sur des fichiers, mais c'est fini maintenant, alors débarrassons-nous de cela.

284
00:14:57,200 --> 00:14:58,690
‫Et donc toutes les

285
00:14:58,690 --> 00:15:02,250
‫autres données que nous avons marquées comme étant nécessaires sont maintenant en

286
00:15:02,250 --> 00:15:03,910
‫fait ici, et même plus.

287
00:15:03,910 --> 00:15:07,593
‫Essayons donc de voir ce qui se passe lorsque nous soumettons ceci.

288
00:15:08,500 --> 00:15:10,823
‫Et maintenant, nous recevons des données invalides envoyées.

289
00:15:11,900 --> 00:15:16,450
‫Allons donc à notre contrôleur de tournée, et ici, où nous

290
00:15:16,450 --> 00:15:19,630
‫créons une tournée, au lieu de ce

291
00:15:19,630 --> 00:15:22,610
‫message, retournons en arrière comme nous l'avions

292
00:15:22,610 --> 00:15:25,840
‫auparavant et envoyons l'erreur entière juste pour voir

293
00:15:26,780 --> 00:15:29,633
‫ce qui ne va pas.

294
00:15:30,800 --> 00:15:34,580
‫Alors envoyez-le ici, d'accord, et le problème était que nous

295
00:15:34,580 --> 00:15:37,483
‫avons déjà défini The Snow Adventure.

296
00:15:38,550 --> 00:15:41,060
‫Alors débarrassons-nous d'abord de ça.

297
00:15:41,060 --> 00:15:43,240
‫Oui, nous avons donc

298
00:15:43,240 --> 00:15:45,650
‫ici The Snow Adventure, nous devrions

299
00:15:45,650 --> 00:15:49,130
‫donc supprimer ceci, et pour cela, j'utilise notre propre

300
00:15:49,130 --> 00:15:51,713
‫API, nous pouvons donc déjà l'utiliser ici.

301
00:15:53,100 --> 00:15:54,860
‫Donc celui-là devrait maintenant être

302
00:15:54,860 --> 00:15:58,690
‫parti, et donc maintenant nous devrions pouvoir l'ajouter comme nouvelle tournée.

303
00:15:58,690 --> 00:16:01,590
‫Et en effet, c'est maintenant ici.

304
00:16:01,590 --> 00:16:05,040
‫Voici donc toutes les données que nous venons

305
00:16:05,040 --> 00:16:08,160
‫de préciser dans ce joli format.

306
00:16:08,160 --> 00:16:10,580
‫Donc, ce qui est intéressant maintenant,

307
00:16:10,580 --> 00:16:12,650
‫c'est de voir l'horodatage createdAt.

308
00:16:12,650 --> 00:16:16,770
‫C'est donc l'heure exacte à laquelle j'enregistre cette vidéo.

309
00:16:16,770 --> 00:16:19,480
‫Et donc celui-ci a bien sûr été

310
00:16:19,480 --> 00:16:23,880
‫créé automatiquement par ce bout de code que nous avons quelque part ici.

311
00:16:23,880 --> 00:16:24,853
‫Ouais, ça.

312
00:16:25,970 --> 00:16:30,000
‫Donc cette date vient de cette Date. maintenant l'horodatage

313
00:16:30,000 --> 00:16:32,970
‫que JavaScript analyse ensuite automatiquement

314
00:16:32,970 --> 00:16:36,120
‫jusqu'à cette date agréable et lisible.

315
00:16:36,120 --> 00:16:39,290
‫Ensuite, nous avons ici ces tableaux.

316
00:16:39,290 --> 00:16:41,407
‫D'accord, donc ce tableau et

317
00:16:41,407 --> 00:16:45,403
‫un autre tableau, et bien sûr, l'ID généré automatiquement, d'accord ?

318
00:16:46,740 --> 00:16:48,560
‫Donc, si nous venons ici

319
00:16:48,560 --> 00:16:50,940
‫maintenant, nous avons alors bien sûr trois tournées.

320
00:16:50,940 --> 00:16:54,340
‫D'abord les autres qui ne sont pas si

321
00:16:54,340 --> 00:16:56,510
‫complètes, puis toutes celles-là.

322
00:16:56,510 --> 00:16:59,450
‫Maintenant, ce qui est intéressant à voir ici, c'est

323
00:16:59,450 --> 00:17:04,050
‫que Mongo a également mis à jour le type de tournées que nous avions déjà.

324
00:17:04,050 --> 00:17:06,290
‫Ainsi, par exemple, nous avions une évaluation

325
00:17:06,290 --> 00:17:08,750
‫ici, mais maintenant que notre schéma a complètement

326
00:17:08,750 --> 00:17:11,310
‫changé, il a ensuite ajouté cette moyenne d'évaluation, ainsi

327
00:17:11,310 --> 00:17:15,600
‫que cette quantité d'évaluation, à la fois à leurs valeurs par défaut, et la

328
00:17:15,600 --> 00:17:17,023
‫même en fait ici.

329
00:17:17,990 --> 00:17:20,410
‫Il a également créé cet horodatage.

330
00:17:20,410 --> 00:17:25,210
‫Il a créé, oui, il a créé des images et des dates de

331
00:17:25,210 --> 00:17:27,080
‫début, avec ces tableaux vides.

332
00:17:27,080 --> 00:17:29,373
‫Et donc cela a en quelque sorte changé toutes ces données ici.

333
00:17:30,240 --> 00:17:32,830
‫D'accord, et donc avant de commencer à avancer dans

334
00:17:32,830 --> 00:17:34,460
‫un projet, nous devrions probablement

335
00:17:34,460 --> 00:17:36,863
‫aller de l'avant et supprimer toutes ces données ici.

336
00:17:38,380 --> 00:17:40,800
‫Et en fait, ce que nous allons faire

337
00:17:40,800 --> 00:17:43,660
‫dans la prochaine vidéo, maintenant que notre modèle est enfin

338
00:17:43,660 --> 00:17:45,250
‫terminé, au moins pour

339
00:17:45,250 --> 00:17:47,410
‫cette section, nous allons continuer et écrire

340
00:17:47,410 --> 00:17:50,060
‫un petit script qui importera automatiquement toutes les visites

341
00:17:50,060 --> 00:17:51,713
‫à partir de ces données JSON.

342
00:17:52,550 --> 00:17:55,090
‫D'accord, donc à partir de ce fichier JSON, en fait.

343
00:17:55,090 --> 00:17:57,170
‫Il va donc essentiellement lire le

344
00:17:57,170 --> 00:18:00,800
‫fichier, obtenir toutes les visites et les importer dans la base de données.

345
00:18:00,800 --> 00:18:03,830
‫Très bien, c'est donc ce que nous allons faire ensuite,

346
00:18:03,830 --> 00:18:06,160
‫car cela sera extrêmement utile dans cette

347
00:18:06,160 --> 00:18:08,163
‫section et aussi à l'avenir.

