1
00:00:03,680 --> 00:00:07,560
Dans cet exercice, nous allons continuer à travailler sur

2
00:00:07,560 --> 00:00:11,190
le nœud serveur Mongoose que nous avons développé dans l'exercice précédent.

3
00:00:11,190 --> 00:00:13,770
Nous ferons une autre variante de cela.

4
00:00:13,770 --> 00:00:19,190
En outre, nous examinerons également comment Mongoose prend en charge les sous-documents,

5
00:00:19,190 --> 00:00:22,760
ce qui nous permet de stocker un document dans

6
00:00:22,760 --> 00:00:26,860
un document pour stocker des informations supplémentaires.

7
00:00:26,860 --> 00:00:31,055
Regardons cela dans l'exercice suivant.

8
00:00:31,055 --> 00:00:36,905
En continuant avec l'exemple sur lequel nous avons travaillé, maintenant,

9
00:00:36,905 --> 00:00:39,680
dans le fichier index.js,

10
00:00:39,680 --> 00:00:46,040
nous allons maintenant voir une nouvelle façon de créer un plat et de l'ajouter dans notre application.

11
00:00:46,040 --> 00:00:51,590
Donc, plus tôt, nous avions fait var NewDish et plats et définir le plat.

12
00:00:51,590 --> 00:00:57,980
Maintenant, dans ce cas, nous allons utiliser une nouvelle méthode appelée vaisselle créer qui prend,

13
00:00:57,980 --> 00:01:05,950
comme paramètre, le NewDish à créer et ensuite l'enregistre dans notre application.

14
00:01:05,950 --> 00:01:11,165
Donc, au lieu de faire cette sauvegarde NewDish,

15
00:01:11,165 --> 00:01:18,550
nous pouvons simplement supprimer cela et traiter directement avec la méthode de création de plats ici.

16
00:01:18,550 --> 00:01:22,850
Ainsi, la méthode de création de plats prendra comme paramètre

17
00:01:22,850 --> 00:01:27,320
un nouveau document qui doit être stocké dans notre base de données,

18
00:01:27,320 --> 00:01:31,355
puis crée et ajoute le document à la base de données.

19
00:01:31,355 --> 00:01:35,285
Par la suite, nous pouvons continuer avec le reste de l'exercice.

20
00:01:35,285 --> 00:01:40,390
Cette modification mineure montrera

21
00:01:40,390 --> 00:01:45,790
que la même application fonctionne exactement de la même manière qu'avant.

22
00:01:45,790 --> 00:01:47,365
Donc, avec ce changement,

23
00:01:47,365 --> 00:01:50,080
permettez-moi juste de changer l'indentation

24
00:01:50,080 --> 00:01:56,370
ici afin que le chaînage des méthodes then soit très clair.

25
00:01:56,370 --> 00:02:01,130
Donc, nous faisons d'abord un plat créer qui retournera une promesse,

26
00:02:01,130 --> 00:02:04,300
puis changer à l'puis puis nous allons effectuer

27
00:02:04,300 --> 00:02:10,255
les étapes restantes sur le plat créé.

28
00:02:10,255 --> 00:02:15,905
Sauvegardons les modifications, puis allons jeter un oeil à cette version de notre serveur.

29
00:02:15,905 --> 00:02:17,475
Aller au terminal,

30
00:02:17,475 --> 00:02:20,675
une fois de plus, en exécutant l'application,

31
00:02:20,675 --> 00:02:28,040
nous voyons qu'il va créer exactement le même que la variation précédente du serveur.

32
00:02:28,040 --> 00:02:33,290
Donc, nous créons un nouveau plat ici, puis l'insérons dans

33
00:02:33,290 --> 00:02:36,800
la base de données et par la suite nous

34
00:02:36,800 --> 00:02:40,760
récupérons ce plat et puis nous l'imprimons à l'écran.

35
00:02:40,760 --> 00:02:43,610
Avec ce changement, c'est un bon moment pour nous de faire

36
00:02:43,610 --> 00:02:47,795
un commit git avec le message Mongoose deuxième partie.

37
00:02:47,795 --> 00:02:57,450
Donc, vérifions l'état git, puis ajoutons le fichier au dépôt,

38
00:02:57,450 --> 00:03:06,390
puis faisons un commit git avec le message Mongoose deuxième partie.

39
00:03:06,390 --> 00:03:08,800
En

40
00:03:08,800 --> 00:03:13,910
poursuivant l'exercice, nous allons ajouter un sous-document au

41
00:03:13,910 --> 00:03:19,385
document et voir comment les sous-documents peuvent être stockés dans notre base de données.

42
00:03:19,385 --> 00:03:22,385
Donc,

43
00:03:22,385 --> 00:03:30,135
en allant au fichier dishes.js, je vais ajouter un autre schéma dans mon fichier dishes.js appelé

44
00:03:30,135 --> 00:03:37,360
comme schéma de commentaire

45
00:03:37,360 --> 00:03:42,230
, puis définir ceci comme nouveau schéma.

46
00:03:42,320 --> 00:03:44,880
Dans ce schéma de commentaire,

47
00:03:44,880 --> 00:03:46,895
comme vous l'auriez déjà prévu,

48
00:03:46,895 --> 00:03:51,360
nous allons l'utiliser pour stocker des commentaires sur le plat.

49
00:03:51,360 --> 00:03:56,380
Ainsi, les commentaires contiendront un champ de notation qui

50
00:03:56,380 --> 00:04:02,930
est du numéro de type,

51
00:04:02,930 --> 00:04:07,250
et sa valeur minimale est un,

52
00:04:07,250 --> 00:04:15,290
la valeur maximale est cinq et obligatoire est vrai.

53
00:04:15,290 --> 00:04:20,120
Ainsi, vous pouvez voir que lorsque vous utilisez un champ avec le numéro de type,

54
00:04:20,120 --> 00:04:26,085
vous pouvez spécifier les limites pour celui-ci si vous le souhaitez.

55
00:04:26,085 --> 00:04:35,640
Ensuite, le champ suivant est un champ de commentaire qui serait de la chaîne de type.

56
00:04:35,640 --> 00:04:41,780
Donc, cela stocke un message et ensuite requis

57
00:04:41,780 --> 00:04:49,300
est vrai, puis nous allons également ajouter un autre champ appelé auteur,

58
00:04:51,220 --> 00:05:01,120
qui est de la chaîne de type et obligatoire est vrai.

59
00:05:01,120 --> 00:05:07,600
Nous allons également ajouter le champ horodatage pour cela,

60
00:05:07,600 --> 00:05:11,875
et définir cela sur true.

61
00:05:11,875 --> 00:05:14,570
Donc, pour chaque commentaire qui est ajouté,

62
00:05:14,570 --> 00:05:17,570
nous allons également stocker l'horodatage correspondant.

63
00:05:17,570 --> 00:05:20,990
Donc, maintenant que nous avons déclaré un schéma de commentaire,

64
00:05:20,990 --> 00:05:27,465
nous pouvons alors aller de l'avant et modifier le schéma plat pour être en mesure de stocker des commentaires.

65
00:05:27,465 --> 00:05:29,745
Ainsi, dans le schéma de plats,

66
00:05:29,745 --> 00:05:37,370
nous pouvons ajouter des commentaires

67
00:05:37,370 --> 00:05:44,750
qui est un tableau du schéma de commentaire de type,

68
00:05:44,750 --> 00:05:49,705
ce qui signifie que chaque objet plat,

69
00:05:49,705 --> 00:05:57,860
document plat peut avoir plusieurs commentaires stockés dans un tableau à l'intérieur du document plat.

70
00:05:57,860 --> 00:06:04,830
Donc, ce sont les documents de commentaire devient sous-documents à l'intérieur d'un document plat.

71
00:06:04,830 --> 00:06:08,524
Donc, nous stockons tous les commentaires sur le plat à l'intérieur

72
00:06:08,524 --> 00:06:13,765
du plat lui-même comme un tableau de documents de commentaires.

73
00:06:13,765 --> 00:06:20,825
Donc, c'est l'utilisation du sous-document dans Mongoose.

74
00:06:20,825 --> 00:06:28,395
Après cela, allons dans le fichier index.js, puis modifions notre fichier index.js.

75
00:06:28,395 --> 00:06:32,640
Ici, ils créent le plat comme avant.

76
00:06:32,640 --> 00:06:35,010
Ensuite, après avoir créé le plat,

77
00:06:35,010 --> 00:06:38,715
puis nous consolons le journal du plat.

78
00:06:38,715 --> 00:06:43,080
Par la suite, nous mettrons à jour le plat.

79
00:06:43,080 --> 00:06:49,925
Donc, nous dirons que les plats trouvent par ID et mise à jour.

80
00:06:49,925 --> 00:06:55,345
Donc, nous allons modifier le plat que nous venons d'insérer à l'étape précédente.

81
00:06:55,345 --> 00:06:58,690
Donc, nous allons dire, « Trouver par ID et mettre à jour. »

82
00:06:58,690 --> 00:07:01,930
Et nous allons nous approvisionner.

83
00:07:01,930 --> 00:07:05,305
En cela prend deux paramètres,

84
00:07:05,305 --> 00:07:10,045
le premier paramètre est le plat.

85
00:07:10,045 --> 00:07:15,205
Maintenant, ce plat. _id fait bien sûr référence à ce plat que nous venons d'insérer,

86
00:07:15,205 --> 00:07:19,895
puis nous allons modifier ce même plat à l'étape suivante.

87
00:07:19,895 --> 00:07:22,420
Alors, on va dire : « Dish. _id. » Et puis,

88
00:07:22,420 --> 00:07:34,610
entre parenthèses, nous spécifions $set, description,

89
00:07:36,600 --> 00:07:45,580
test mis à jour et nouveau vrai.

90
00:07:45,580 --> 00:07:49,240
Donc, ceci, nous modifions le plat que nous

91
00:07:49,240 --> 00:07:54,865
venons d'insérer en mettant à jour sa description là.

92
00:07:54,865 --> 00:07:58,735
Maintenant, cela doit être enfermé à l'intérieur.

93
00:07:58,735 --> 00:08:01,310
Ce deuxième drapeau que nous fournissons ici,

94
00:08:01,310 --> 00:08:03,985
nouveau côlon égal à vrai,

95
00:08:03,985 --> 00:08:07,895
signifie qu'une fois que la mise à jour du plat est terminée,

96
00:08:07,895 --> 00:08:11,075
alors cela

97
00:08:11,075 --> 00:08:14,530
nous retournera le plat, plat mis à jour.

98
00:08:14,530 --> 00:08:20,350
Donc, c'est la raison d'utiliser ce drapeau ici, disons, nouveau vrai.

99
00:08:20,350 --> 00:08:25,275
Donc, ce plat sera retourné à l'étape suivante.

100
00:08:25,275 --> 00:08:32,905
Donc, on va prendre ce plat et ensuite imprimer ce plat.

101
00:08:32,905 --> 00:08:34,540
Donc, à l'étape suivante,

102
00:08:34,540 --> 00:08:41,845
nous allons modifier ceci et dire, « Ceci, puis plat. »

103
00:08:41,845 --> 00:08:45,790
Et puis, on va faire un journal de la console.

104
00:08:45,790 --> 00:08:55,060
Ensuite, nous allons insérer un commentaire dans le plat.

105
00:08:55,060 --> 00:09:00,405
Donc, nous allons dire, « plat.Comments.Push. »

106
00:09:00,405 --> 00:09:04,420
Rappelons que les commentaires sont un champ à l'intérieur du plat.

107
00:09:04,420 --> 00:09:06,930
Donc, en revenant au schéma,

108
00:09:06,930 --> 00:09:12,685
nous voyons que ces commentaires sont un tableau du type CommentSchema.

109
00:09:12,685 --> 00:09:16,360
Donc, ce qui signifie que nous pouvons pousser un élément dans ce tableau.

110
00:09:16,360 --> 00:09:17,700
Donc, en revenant ici,

111
00:09:17,700 --> 00:09:21,180
nous dirons : « Les commentaires de la vaisselle poussent. »

112
00:09:21,180 --> 00:09:27,380
Et puis, nous allons pousser un document de commentaire dans le plat ici.

113
00:09:27,380 --> 00:09:31,415
Donc, je vais dire, « Les commentaires de Dish poussent. »

114
00:09:31,415 --> 00:09:33,990
Et spécifiez les champs ici.

115
00:09:33,990 --> 00:10:00,540
Donc, nous allons dire, « Note cinq, commentaire et auteur. »

116
00:10:07,890 --> 00:10:17,155
Et donc, cela va pousser ce commentaire dans le champ de commentaire de ce plat spécifique.

117
00:10:17,155 --> 00:10:20,065
Donc, maintenant que nous avons modifié le plat,

118
00:10:20,065 --> 00:10:24,655
la prochaine étape que nous allons faire est de,

119
00:10:24,655 --> 00:10:30,030
laissez-moi fermer ceci et ensuite mettre ça dedans, puis là.

120
00:10:30,030 --> 00:10:32,400
Je vais revenir et réparer ça dans un peu de temps.

121
00:10:32,400 --> 00:10:34,555
Donc, maintenant que nous avons modifié le plat,

122
00:10:34,555 --> 00:10:37,630
nous devons sauver le plat.

123
00:10:37,630 --> 00:10:42,430
Donc, nous allons dire, « Renvoyez le plat en toute sécurité. »

124
00:10:42,430 --> 00:10:44,280
Donc, dans cette étape,

125
00:10:44,280 --> 00:10:47,520
nous insérons un commentaire dans le plat,

126
00:10:47,520 --> 00:10:51,055
le plat que nous venons de créer et de mettre à jour,

127
00:10:51,055 --> 00:10:55,360
puis nous enregistrons ce commentaire ;

128
00:10:55,360 --> 00:11:00,350
puis, cela retournera le plat.

129
00:11:00,350 --> 00:11:07,480
Et quand le plat est retourné dans le rappel suivant,

130
00:11:07,480 --> 00:11:15,160
je vais alors dire, « Console bûche ».

131
00:11:15,160 --> 00:11:16,240
Et puis, après cela,

132
00:11:16,240 --> 00:11:17,920
nous dirons : « Retournez. »

133
00:11:17,920 --> 00:11:22,435
Donc, avec cela, nous avons modifié notre fichier index.js.

134
00:11:22,435 --> 00:11:27,265
Sauvegardons les modifications et regardons cette application.

135
00:11:27,265 --> 00:11:29,135
Aller au terminal,

136
00:11:29,135 --> 00:11:34,770
lançons npm start, puis voyons la valeur résultante ici.

137
00:11:34,770 --> 00:11:38,570
Donc, pour revenir en arrière, nous voyons que dans la première étape,

138
00:11:38,570 --> 00:11:45,430
nous avons créé ce plat ici avec le nom et la description comme nous l'avons donné plus tôt.

139
00:11:45,430 --> 00:11:49,675
Et puis, une fois que le plat est créé,

140
00:11:49,675 --> 00:11:50,980
dans la deuxième étape,

141
00:11:50,980 --> 00:11:55,730
nous avons mis à jour le plat, puis imprimé la version mise à jour du plat.

142
00:11:55,730 --> 00:11:59,325
Ainsi, la version mise à jour du plat est imprimée juste là.

143
00:11:59,325 --> 00:12:03,940
Et vous pouvez voir que la description a été mise à jour à partir du cas précédent,

144
00:12:03,940 --> 00:12:10,210
mais l'identifiant reste exactement le même que le plat que nous avons créé précédemment.

145
00:12:10,210 --> 00:12:11,720
Et le champ de commentaires,

146
00:12:11,720 --> 00:12:12,875
comme vous pouvez le voir ici,

147
00:12:12,875 --> 00:12:15,150
est un tableau vide et le fumé.

148
00:12:15,150 --> 00:12:22,555
Dans la troisième étape, nous poussons le commentaire dans notre plat ici ;

149
00:12:22,555 --> 00:12:25,560
puis, ce commentaire particulier que

150
00:12:25,560 --> 00:12:28,880
nous avons ajouté a été ajouté dans ce tableau de commentaires.

151
00:12:28,880 --> 00:12:32,475
Donc, vous pouvez voir ce commentaire être joint ici,

152
00:12:32,475 --> 00:12:39,440
et c'est le plat mis à jour qui a maintenant été imprimé sur l'écran ici.

153
00:12:39,440 --> 00:12:45,270
Donc, vous pouvez voir que nous avons fait plusieurs étapes l'une après l'autre avec notre plat.

154
00:12:45,270 --> 00:12:46,840
Nous avons d'abord créé le plat,

155
00:12:46,840 --> 00:12:48,460
puis nous avons mis à jour le plat,

156
00:12:48,460 --> 00:12:51,340
puis nous avons inséré un commentaire dans le plat,

157
00:12:51,340 --> 00:12:55,745
qui est un sous-document à l'intérieur du document plat ;

158
00:12:55,745 --> 00:12:59,035
puis, nous vous avons imprimé le résultat.

159
00:12:59,035 --> 00:13:02,390
Avec cela, nous complétons cet exercice.

160
00:13:02,390 --> 00:13:06,500
Dans cet exercice, nous avons vu comment nous pouvons, d'

161
00:13:06,500 --> 00:13:10,930
abord, créer un plat en utilisant des plats créer,

162
00:13:10,930 --> 00:13:14,520
puis nous avons vu l'utilisation de sous-documents : là,

163
00:13:14,520 --> 00:13:18,060
nous avons défini un schéma dans le

164
00:13:18,060 --> 00:13:21,720
fichier dishes.js, puis utilisé le schéma de commentaire que nous avons défini

165
00:13:21,720 --> 00:13:29,130
puis défini le champ dans le schéma de plats comme un du type CommentSchema.

166
00:13:29,130 --> 00:13:32,810
Et puis, dans le fichier index.js,

167
00:13:32,810 --> 00:13:35,445
nous avons pu créer un plat,

168
00:13:35,445 --> 00:13:38,210
mettre à jour le plat et aussi pousser

169
00:13:38,210 --> 00:13:44,140
un document de commentaire dans le plat, puis enregistrer les modifications ici.

170
00:13:44,140 --> 00:13:46,480
Avec cela, nous complétons cet exercice.

171
00:13:46,480 --> 00:13:54,170
C' est un bon moment pour vous de faire un Git Kermit avec le message, « Mongoose troisième partie ».