﻿1
00:00:01,336 --> 00:00:03,960
‫Instructeur : Dans cette vidéo, continuons à

2
00:00:03,960 --> 00:00:06,900
‫traduire le modèle de données que nous avons établi dès

3
00:00:06,900 --> 00:00:09,600
‫le début de la section en un code réel.

4
00:00:09,600 --> 00:00:13,023
‫Et donc, cette fois, nous allons implémenter le modèle des critiques.

5
00:00:14,780 --> 00:00:17,870
‫La première étape consiste donc à créer un nouveau fichier dans

6
00:00:17,870 --> 00:00:22,273
‫le dossier models et à l'appeler ReviewModel. js.

7
00:00:25,800 --> 00:00:29,480
‫Et pour moi, cela ressemble à un autre grand défi pour vous

8
00:00:29,480 --> 00:00:31,640
‫de mettre en pratique certaines des

9
00:00:31,640 --> 00:00:34,090
‫compétences que vous avez déjà apprises jusqu'à présent.

10
00:00:34,090 --> 00:00:36,890
‫D'accord, dans ce défi, je veux que vous créiez

11
00:00:36,890 --> 00:00:38,200
‫le modèle d'examen.

12
00:00:38,200 --> 00:00:41,370
‫Et ce dont nous avons besoin là-dedans est en fait très simple.

13
00:00:41,370 --> 00:00:43,220
‫Alors permettez-moi de mettre cela ici dans un commentaire.

14
00:00:44,360 --> 00:00:46,090
‫Donc, nous voulons essentiellement un

15
00:00:46,090 --> 00:00:48,030
‫examen, donc le texte de l'examen.

16
00:00:48,030 --> 00:00:49,350
‫Nous voulons

17
00:00:50,230 --> 00:00:51,840
‫une note comme celle-ci.

18
00:00:51,840 --> 00:00:54,950
‫Ensuite, nous voulons également un createdAt donc avec

19
00:00:54,950 --> 00:00:56,760
‫l'horodatage actuel, puis nous

20
00:00:56,760 --> 00:01:00,880
‫voulons également une référence à la tournée à laquelle appartient

21
00:01:00,880 --> 00:01:02,590
‫cette critique et

22
00:01:02,590 --> 00:01:05,793
‫également à l'utilisateur qui a écrit cette critique.

23
00:01:07,870 --> 00:01:12,090
‫D'accord, donc en gros, deux références parentales ici, d'accord.

24
00:01:12,090 --> 00:01:14,270
‫Et donc avec les choses que vous avez

25
00:01:14,270 --> 00:01:15,790
‫apprises au cours des deux

26
00:01:15,790 --> 00:01:18,410
‫dernières conférences, vous devriez être capable de relever ce

27
00:01:18,410 --> 00:01:19,660
‫défi complètement par vous-même.

28
00:01:19,660 --> 00:01:23,033
‫Alors, mettez la vidéo en pause maintenant et bonne chance.

29
00:01:26,690 --> 00:01:29,430
‫Maintenant, d'accord, j'espère que vous n'avez pas simplement

30
00:01:29,430 --> 00:01:33,070
‫ignoré ceci et que vous l'avez vraiment mis en œuvre par vous-même

31
00:01:33,070 --> 00:01:35,813
‫et de toute façon, c'est ainsi que je l'ai créé.

32
00:01:36,780 --> 00:01:39,490
‫Alors bien sûr, nous devons commencer par exiger la mangouste,

33
00:01:46,880 --> 00:01:47,713
‫puis le

34
00:01:50,728 --> 00:01:54,480
‫reviewSchema est égal à la nouvelle mangouste. Schéma.

35
00:02:00,780 --> 00:02:03,053
‫Et commençons donc à ajouter nos champs.

36
00:02:03,960 --> 00:02:06,790
‫Donc, d'abord, l'examen est bien sûr une chaîne.

37
00:02:06,790 --> 00:02:09,830
‫Maintenant, c'est vrai et bien sûr, je le

38
00:02:09,830 --> 00:02:12,660
‫fais trop vite, je dois donc également spécifier

39
00:02:12,660 --> 00:02:15,013
‫le type, puis définissons-le également sur

40
00:02:16,930 --> 00:02:17,763
‫une

41
00:02:19,180 --> 00:02:22,623
‫valeur requise, vraie, la révision ne peut pas être vide.

42
00:02:23,820 --> 00:02:26,333
‫Ensuite, nous voulons une cote,

43
00:02:30,130 --> 00:02:32,663
‫et celle-ci est du type numéro.

44
00:02:33,940 --> 00:02:37,333
‫Et la note est idéalement comprise entre un et cinq.

45
00:02:38,580 --> 00:02:43,580
‫Et donc le minimum d'un et le maximum est de cinq.

46
00:02:43,620 --> 00:02:44,700
‫Donc, comme vous

47
00:02:44,700 --> 00:02:47,000
‫le savez déjà, ce sont quelques validateurs simples.

48
00:02:47,000 --> 00:02:50,260
‫Cela ne fonctionne que pour les nombres, n'est-ce pas.

49
00:02:50,260 --> 00:02:51,543
‫Ce n'est pas correct ici.

50
00:02:52,570 --> 00:02:53,640
‫D'accord.

51
00:02:53,640 --> 00:02:55,733
‫Ensuite, le createdAt.

52
00:02:59,630 --> 00:03:01,783
‫Il s'agit du type, de la

53
00:03:05,120 --> 00:03:07,360
‫date et par défaut, nous voulons

54
00:03:10,380 --> 00:03:12,300
‫la date. maintenant.

55
00:03:12,300 --> 00:03:13,133
‫D'accord.

56
00:03:14,480 --> 00:03:16,700
‫C'était donc la partie facile.

57
00:03:16,700 --> 00:03:18,980
‫Et créons également un modèle

58
00:03:18,980 --> 00:03:21,523
‫et exportons-le avant d'ajouter ces références.

59
00:03:22,930 --> 00:03:25,023
‫Donc const, Review est

60
00:03:26,090 --> 00:03:29,710
‫égal trop mangouste. modèle avec le

61
00:03:32,630 --> 00:03:34,320
‫nom Review.

62
00:03:34,320 --> 00:03:35,920
‫Et puis bien sûr, reviewSchema.

63
00:03:41,210 --> 00:03:44,430
‫Pour finir le module de cours. l'exportation

64
00:03:46,040 --> 00:03:49,340
‫est égale à l'examen.

65
00:03:49,340 --> 00:03:52,890
‫Très bien, et maintenant vient la partie de référence.

66
00:03:52,890 --> 00:03:56,880
‫Ainsi, une critique doit bien sûr appartenir à une tournée.

67
00:03:56,880 --> 00:03:58,900
‫Et il faut aussi un auteur.

68
00:03:58,900 --> 00:03:59,733
‫D'accord.

69
00:03:59,733 --> 00:04:01,710
‫C'est donc encore ce que nous avons

70
00:04:01,710 --> 00:04:03,910
‫spécifié dans notre conférence sur la modélisation des données.

71
00:04:03,910 --> 00:04:06,000
‫Donc, fondamentalement, nous allions

72
00:04:06,000 --> 00:04:09,030
‫implémenter le référencement parent ici dans ce cas.

73
00:04:09,030 --> 00:04:12,060
‫Parce que le tour et l'utilisateur sont en quelque

74
00:04:12,060 --> 00:04:15,020
‫sorte les parents de cet ensemble de données.

75
00:04:15,020 --> 00:04:17,080
‫Et nous avons décidé de procéder de

76
00:04:17,080 --> 00:04:18,790
‫cette façon parce que nous

77
00:04:18,790 --> 00:04:22,140
‫allons potentiellement effacer énormément tous les éléments parents, n'est-ce pas ?

78
00:04:22,140 --> 00:04:24,680
‫Il ne faut donc pas concevoir notre

79
00:04:24,680 --> 00:04:27,600
‫application en pensant qu'il n'y aura que quelques avis.

80
00:04:27,600 --> 00:04:30,660
‫Seulement pour y revenir après un certain temps

81
00:04:30,660 --> 00:04:33,700
‫et découvrir que nos hypothèses étaient fausses.

82
00:04:33,700 --> 00:04:36,660
‫Et maintenant, nous devons reconstruire l'intégralité de notre modèle de données.

83
00:04:36,660 --> 00:04:38,340
‫Ce serait donc terrible.

84
00:04:38,340 --> 00:04:41,110
‫Ainsi, dans de nombreuses situations, comme vous savez déjà ce

85
00:04:41,110 --> 00:04:44,520
‫que nous ne savons pas vraiment, à quel point notre effacement va grandir.

86
00:04:44,520 --> 00:04:47,970
‫Alors mieux vaut opter pour le référencement parent.

87
00:04:47,970 --> 00:04:50,580
‫Encore une fois, c'est exactement ce que nous faisons

88
00:04:50,580 --> 00:04:53,400
‫ici lorsque nous faisons référence à la tournée et à l'utilisateur.

89
00:04:53,400 --> 00:04:56,383
‫Alors maintenant, allons de l'avant et mettons cela en œuvre.

90
00:04:57,390 --> 00:04:58,853
‫Et à commencer par la tournée.

91
00:05:01,070 --> 00:05:02,650
‫Bien.

92
00:05:02,650 --> 00:05:06,153
‫Donc ici, nous avons besoin d'espace, et d'accord.

93
00:05:07,630 --> 00:05:12,140
‫Donc le type est comme nous le faisions avant, mangouste, et ce

94
00:05:12,140 --> 00:05:13,423
‫n'est pas correct.

95
00:05:14,290 --> 00:05:18,593
‫Donc mangouste. Schéma. ObjectId, avec un

96
00:05:21,600 --> 00:05:25,890
‫O majuscule et un I majuscule, mais pas le D.

97
00:05:25,890 --> 00:05:26,930
‫Et je vous

98
00:05:26,930 --> 00:05:29,760
‫le dis juste parce que j'ai écrit une pièce d'identité

99
00:05:29,760 --> 00:05:32,370
‫comme celle-ci, puis j'ai passé une demi-heure à essayer

100
00:05:32,370 --> 00:05:34,560
‫de comprendre pourquoi mon application ne fonctionnait pas.

101
00:05:34,560 --> 00:05:37,293
‫D'accord, donc ce D doit être en minuscule.

102
00:05:38,880 --> 00:05:39,713
‫De toute façon.

103
00:05:39,713 --> 00:05:44,540
‫La référence dans ce cas est bien sûr la tournée.

104
00:05:44,540 --> 00:05:46,813
‫Et nous voulons également rendre cela obligatoire.

105
00:05:49,680 --> 00:05:54,680
‫Tellement vrai et puis Review doit appartenir à

106
00:05:57,300 --> 00:05:58,780
‫une tournée.

107
00:05:58,780 --> 00:05:59,670
‫D'accord.

108
00:05:59,670 --> 00:06:02,820
‫Et juste comme ça, chaque document Review sait

109
00:06:02,820 --> 00:06:05,870
‫maintenant exactement à quelle tournée il appartient.

110
00:06:05,870 --> 00:06:08,570
‫Bien que la tournée ne sache bien sûr

111
00:06:08,570 --> 00:06:11,640
‫pas au départ quels avis et combien il y a d'avis.

112
00:06:11,640 --> 00:06:13,070
‫Mais c'est un problème que

113
00:06:13,070 --> 00:06:14,820
‫nous résoudrons en fait un peu plus tard.

114
00:06:16,290 --> 00:06:17,220
‫D'accord.

115
00:06:17,220 --> 00:06:20,453
‫Ensuite, quand il y a une critique, nous voulons non

116
00:06:20,453 --> 00:06:23,270
‫seulement savoir à quelle tournée elle appartient, mais aussi

117
00:06:23,270 --> 00:06:25,373
‫qui a écrit cette critique.

118
00:06:26,570 --> 00:06:27,933
‫Donc

119
00:06:29,580 --> 00:06:32,410
‫utilisateur, et encore, le même

120
00:06:32,410 --> 00:06:37,243
‫type de mangouste. Schéma. ObjectId, et

121
00:06:38,610 --> 00:06:39,443
‫cette

122
00:06:39,443 --> 00:06:44,443
‫fois la référence, comme vous pouvez l'imaginer, sera user.

123
00:06:44,460 --> 00:06:47,880
‫D'accord, et encore une fois, nous le

124
00:06:47,880 --> 00:06:51,960
‫rendons obligatoire, car une critique ne peut vraiment

125
00:06:51,960 --> 00:06:54,830
‫pas fonctionner sans un auteur.

126
00:06:54,830 --> 00:06:56,800
‫Et donc l'avis

127
00:06:58,250 --> 00:07:01,163
‫doit appartenir à un utilisateur.

128
00:07:05,080 --> 00:07:06,563
‫D'accord, c'est en fait ça.

129
00:07:07,470 --> 00:07:08,303
‫Bien.

130
00:07:09,670 --> 00:07:12,750
‫Maintenant, pour terminer, ajoutons également ces options au

131
00:07:12,750 --> 00:07:16,280
‫schéma où nous faisons en sorte que les propriétés virtuelles

132
00:07:16,280 --> 00:07:19,470
‫apparaissent également dans les sorties Json et les objets.

133
00:07:19,470 --> 00:07:20,303
‫D'accord.

134
00:07:20,303 --> 00:07:22,450
‫Nous l'avons donc fait avant dans les tournées.

135
00:07:22,450 --> 00:07:25,290
‫Je ne sais pas si nous l'avons fait dans le modèle utilisateur.

136
00:07:25,290 --> 00:07:27,080
‫Mais de toute façon, ici, nous en aurons

137
00:07:27,080 --> 00:07:28,480
‫vraiment besoin un peu plus tard.

138
00:07:28,480 --> 00:07:30,160
‫Il faut donc le préciser.

139
00:07:30,160 --> 00:07:32,710
‫Rappelez-vous, fondamentalement, ce que je veux dire,

140
00:07:36,320 --> 00:07:37,860
‫c'est cette partie.

141
00:07:37,860 --> 00:07:40,570
‫Je vais donc aller de l'avant et le copier.

142
00:07:40,570 --> 00:07:42,023
‫Juste pour nous faire gagner du temps.

143
00:07:45,250 --> 00:07:48,580
‫Et encore une fois, tout cela ne fait que s'assurer que lorsque

144
00:07:48,580 --> 00:07:50,730
‫nous avons une propriété virtuelle, il s'agit

145
00:07:50,730 --> 00:07:53,350
‫essentiellement d'un champ qui n'est pas stocké dans la base

146
00:07:53,350 --> 00:07:55,850
‫de données mais calculé à l'aide d'une autre valeur.

147
00:07:55,850 --> 00:07:59,670
‫Nous voulons donc que cela apparaisse également chaque fois qu'il y a une sortie.

148
00:07:59,670 --> 00:08:02,113
‫Exact, et c'est ce que nous faisons ici.

149
00:08:03,130 --> 00:08:03,963
‫D'accord.

150
00:08:03,963 --> 00:08:07,490
‫Et donc je pense en fait que c'est en fait tout pour l'instant.

151
00:08:07,490 --> 00:08:08,550
‫Très simple.

152
00:08:08,550 --> 00:08:11,530
‫La seule partie un peu délicate est en fait de

153
00:08:11,530 --> 00:08:13,010
‫créer ces références ici.

154
00:08:13,010 --> 00:08:14,680
‫Mais nous l'avons déjà fait

155
00:08:14,680 --> 00:08:17,673
‫auparavant et cela fonctionne donc exactement de la même manière.

156
00:08:19,430 --> 00:08:21,800
‫Ainsi, dans la vidéo suivante, nous utiliserons

157
00:08:21,800 --> 00:08:24,470
‫ensuite le schéma afin de créer de nouvelles critiques.

158
00:08:24,470 --> 00:08:25,653
‫Alors à bientôt.

