1
00:00:03,680 --> 00:00:06,035
Dans la leçon précédente,

2
00:00:06,035 --> 00:00:08,550
nous avons appris sur le pilote MongoDB.

3
00:00:08,550 --> 00:00:14,250
Cela permet à notre application de nœud de communiquer avec un serveur MongoDB,

4
00:00:14,250 --> 00:00:19,660
ainsi que de stocker et de récupérer des documents à partir du serveur MongoDB.

5
00:00:19,660 --> 00:00:23,310
Nous avons également vu que le pilote MongoDB nous fournit de

6
00:00:23,310 --> 00:00:28,770
nombreuses méthodes qui nous permettent de créer des collections dans une base de données, d'

7
00:00:28,770 --> 00:00:30,925
ajouter des documents aux collections,

8
00:00:30,925 --> 00:00:35,695
puis d'effectuer diverses opérations sur les documents d'une collection.

9
00:00:35,695 --> 00:00:41,060
Maintenant, lorsque les documents sont stockés dans la base de données,

10
00:00:41,060 --> 00:00:46,330
le pilote MongoDB lui-même n'impose aucune structure sur les documents.

11
00:00:46,330 --> 00:00:52,640
Si nous avons besoin d'avoir une structure spécifique pour les documents et d'appliquer cette structure,

12
00:00:52,640 --> 00:00:58,505
alors nous devons utiliser le module de noeud Mongoose qui nous permet de définir

13
00:00:58,505 --> 00:01:05,015
un schéma et une structure pour nos documents qui sont stockés dans notre base de données MongoDB,

14
00:01:05,015 --> 00:01:08,275
et applique strictement la structure.

15
00:01:08,275 --> 00:01:16,035
Regardons plus de détails dans cette conférence et les exercices qui suivent cette conférence.

16
00:01:16,035 --> 00:01:18,540
Comme nous l'avons déjà appris,

17
00:01:18,540 --> 00:01:25,035
MongoDB stocke des données dans des collections dans une base de données.

18
00:01:25,035 --> 00:01:28,695
Ces collections se composent d'une collection de documents.

19
00:01:28,695 --> 00:01:30,750
Les documents eux-mêmes stockés dans

20
00:01:30,750 --> 00:01:35,405
une base de données MongoDB n'ont pas de structure spécifique imposée au document.

21
00:01:35,405 --> 00:01:38,570
N' importe quel document peut être stocké dans n'importe quelle collection.

22
00:01:38,570 --> 00:01:46,370
MongoDB s'appuie sur le développeur pour appliquer la structure sur les documents,

23
00:01:46,370 --> 00:01:52,295
et donne l'entière responsabilité au développeur de s'assurer que les documents

24
00:01:52,295 --> 00:01:58,670
de la structure correcte sont ajoutés et maintenus dans les différentes collections.

25
00:01:58,670 --> 00:02:01,960
Maintenant, il est très facile de violer cela.

26
00:02:01,960 --> 00:02:06,260
Ainsi, par exemple, même si vous pouvez commencer par l'hypothèse

27
00:02:06,260 --> 00:02:11,030
qu'une connexion particulière aura des documents d'une certaine structure,

28
00:02:11,030 --> 00:02:17,045
vous pouvez facilement insérer des documents qui ne sont pas nécessairement conformes à la structure.

29
00:02:17,045 --> 00:02:21,170
Si vous êtes très particulier que la structure des documents dans

30
00:02:21,170 --> 00:02:25,550
une collection a toujours une structure spécifiée,

31
00:02:25,550 --> 00:02:28,550
et aura toujours l'ensemble spécifique de champs,

32
00:02:28,550 --> 00:02:32,540
alors MongoDB lui-même n'impose pas que

33
00:02:32,540 --> 00:02:36,630
le pilote MongoDB nœud que nous avons vu dans la leçon précédente.

34
00:02:36,630 --> 00:02:40,565
C' est là que nous aurons besoin d'un moyen plus formel d'imposer une

35
00:02:40,565 --> 00:02:46,385
structure sur les documents qui sont stockés dans une collection dans une base de données MongoDB.

36
00:02:46,385 --> 00:02:52,390
C' est là que le module de noeud Mongoose vient à notre aide.

37
00:02:52,390 --> 00:02:56,405
Le module de noeud Mongoose impose

38
00:02:56,405 --> 00:03:01,875
une structure standardisée pour les documents stockés dans une collection particulière.

39
00:03:01,875 --> 00:03:07,175
Donc, c'est pourquoi nous entendons souvent parler de cela comme le Mongoose ODM.

40
00:03:07,175 --> 00:03:10,950
L' ODM lui-même est interprété par certaines personnes

41
00:03:10,950 --> 00:03:16,995
comme signifiant Modèle de données d'objet ou parfois appelé Mappage de document d'objet,

42
00:03:16,995 --> 00:03:22,125
ou certaines personnes le désignent comme ORM ou Mappage relationnel d'objet.

43
00:03:22,125 --> 00:03:27,755
Maintenant, quand nous parlons de relationnel qui s'applique beaucoup plus aux bases de données relationnelles,

44
00:03:27,755 --> 00:03:33,380
mais avec les bases de données SQL, nous avions besoin explicitement de

45
00:03:33,380 --> 00:03:41,850
mettre l'objet vers le mappage relationnel entre la base de données et notre application elle-même.

46
00:03:41,850 --> 00:03:45,245
Parce que dans l'application, nous regarderions

47
00:03:45,245 --> 00:03:50,245
les objets mais leur stockage dans une base de données SQL sera sous la forme d'enregistrements,

48
00:03:50,245 --> 00:03:52,585
et vous avez donc besoin d'un mappage explicite.

49
00:03:52,585 --> 00:03:54,870
Comme nous l'avons vu avec la base de données NoSQL,

50
00:03:54,870 --> 00:03:56,685
cela n'était pas explicitement requis.

51
00:03:56,685 --> 00:04:03,710
Mais si vous avez besoin d'imposer une structure à vos documents qui sont stockés dans une collection

52
00:04:03,710 --> 00:04:10,790
, alors l'utilisation de Mongoose pour imposer cette structure est très, très utile.

53
00:04:10,790 --> 00:04:13,880
La façon dont Mongoose se déplace en

54
00:04:13,880 --> 00:04:18,275
imposant une structure sur les documents est par l'utilisation de schémas.

55
00:04:18,275 --> 00:04:21,995
Schéma, définit la structure de leurs documents.

56
00:04:21,995 --> 00:04:24,800
Parlons de ça un peu plus en détail.

57
00:04:24,800 --> 00:04:27,580
Alors, quel est exactement le schéma de mongoose,

58
00:04:27,580 --> 00:04:29,700
et qu'est-ce qu'il apporte à la table ?

59
00:04:29,700 --> 00:04:34,700
schéma Mongoose, implique une structure sur

60
00:04:34,700 --> 00:04:39,735
les données qui sont stockées dans un document dans votre base de données.

61
00:04:39,735 --> 00:04:42,770
Ainsi, il définit tous les champs de votre document,

62
00:04:42,770 --> 00:04:45,349
et spécifie également les types de champs,

63
00:04:45,349 --> 00:04:47,345
et peut également nous fournir des

64
00:04:47,345 --> 00:04:51,965
fonctionnalités supplémentaires qui peuvent activer la validation sur ces champs.

65
00:04:51,965 --> 00:04:59,425
Ainsi, par exemple, les différents types de schéma pris en charge dans Mongoose incluent : String,

66
00:04:59,425 --> 00:05:03,195
Number, Date, Buffer, Boolean,

67
00:05:03,195 --> 00:05:06,295
Mixed, Object ID et Array.

68
00:05:06,295 --> 00:05:09,070
En particulier, nous allons examiner le numéro de chaîne,

69
00:05:09,070 --> 00:05:14,405
et une date, et booléen dans l'exercice qui suit.

70
00:05:14,405 --> 00:05:18,075
Nous examinerons quelques-uns des autres dans des exercices ultérieurs.

71
00:05:18,075 --> 00:05:22,125
En particulier, notez l'utilisation du type de schéma de tableau.

72
00:05:22,125 --> 00:05:25,570
Ainsi, un type de schéma de tableau vous permettrait de

73
00:05:25,570 --> 00:05:31,640
créer un tableau de sous-documents à l'intérieur du document.

74
00:05:31,640 --> 00:05:33,740
J' en parlerai dans un court moment.

75
00:05:33,740 --> 00:05:36,940
Une fois que vous définissez un schéma,

76
00:05:36,960 --> 00:05:42,160
le schéma est ensuite utilisé dans Mongoose pour créer une fonction de modèle,

77
00:05:42,160 --> 00:05:49,830
et c'est ce qui vous permet de définir la structure de vos documents dans la base de données.

78
00:05:49,830 --> 00:05:53,225
Les schémas eux-mêmes peuvent avoir une imbrication.

79
00:05:53,225 --> 00:05:58,490
Donc, ce qui signifie que vous pouvez avoir un sous-document qui sont inclus dans un document.

80
00:05:58,490 --> 00:06:01,519
Les sous-documents sont généralement pris

81
00:06:01,519 --> 00:06:04,890
en charge soit en spécifiant un schéma supplémentaire,

82
00:06:04,890 --> 00:06:11,870
puis en définissant l'un des champs du schéma pour être hors du type de l'autre schéma.

83
00:06:11,870 --> 00:06:15,215
Ou vous pouvez même aller avec un tableau d'

84
00:06:15,215 --> 00:06:20,000
un autre type de schéma dans un second schéma que vous définissez.

85
00:06:20,000 --> 00:06:24,930
Regardons un exemple pour clarifier certains d'entre eux plus en détail.

86
00:06:24,930 --> 00:06:32,010
Cet exemple sera tiré de l'exercice que vous ferez juste après cette conférence.

87
00:06:32,010 --> 00:06:37,705
Avant de pouvoir parler de schémas et de modèles en Mongoose,

88
00:06:37,705 --> 00:06:41,310
comprenons pourquoi nous aurions besoin de cela.

89
00:06:41,310 --> 00:06:43,975
Si vous avez suivi le cours angulaire précédent,

90
00:06:43,975 --> 00:06:46,760
ou ionique, ou le cours de script natif,

91
00:06:46,760 --> 00:06:49,445
vous avez vu que nous représentons

92
00:06:49,445 --> 00:06:55,565
diverses données que nous utilisons dans nos applications sous la forme de chaînes JSON.

93
00:06:55,565 --> 00:07:02,050
Donc, dans notre application, nous définissons une collection appelée vaisselle.

94
00:07:02,050 --> 00:07:03,770
Dans une collection de plats,

95
00:07:03,770 --> 00:07:09,700
chaque plat contiendra un certain ensemble de propriétés définies sous la forme d'une chaîne JSON,

96
00:07:09,700 --> 00:07:11,665
comme vous le voyez dans cet exemple ici.

97
00:07:11,665 --> 00:07:15,830
Ainsi, la vaisselle est un tableau de type plat,

98
00:07:15,830 --> 00:07:18,605
et chaque plat lui-même contiendra un nom,

99
00:07:18,605 --> 00:07:20,290
une image, une catégorie,

100
00:07:20,290 --> 00:07:22,015
une étiquette, et ainsi de suite.

101
00:07:22,015 --> 00:07:26,360
En outre, à l'intérieur du document plat lui-même,

102
00:07:26,360 --> 00:07:32,830
vous auriez des commentaires qui sont stockés comme un tableau de nouveau, -

103
00:07:32,830 --> 00:07:38,240
documents JSON qui contiennent des champs spécifiques étape.

104
00:07:38,240 --> 00:07:39,750
Ainsi, chaque commentaire, par exemple,

105
00:07:39,750 --> 00:07:45,685
contient un auteur de commentaire de notation et un champ de date comme vous le voyez dans cet exemple ici.

106
00:07:45,685 --> 00:07:49,215
Ainsi, vous voyez qu'il y a une structure claire à

107
00:07:49,215 --> 00:07:55,230
chaque document qui définit un plat qui est stocké dans notre base de données.

108
00:07:55,230 --> 00:08:02,545
De toute évidence, plusieurs plats seront stockés sous la forme d'une collection dans notre base de données,

109
00:08:02,545 --> 00:08:06,655
et pourraient être regroupés et envoyés comme une gamme de

110
00:08:06,655 --> 00:08:11,165
plats à notre application client à utiliser.

111
00:08:11,165 --> 00:08:14,890
Maintenant que nous avons compris comment cela est défini, maintenant,

112
00:08:14,890 --> 00:08:22,000
comment cela se rapporte-t-il au schéma mongoose et au modèle que nous définissons en Mongoose ?

113
00:08:22,000 --> 00:08:27,460
Maintenant, notez la structure d'un document plat typique ici.

114
00:08:27,460 --> 00:08:34,095
Ainsi, cela pourrait être facilement mappé dans un document MongoDB dans une collection,

115
00:08:34,095 --> 00:08:37,375
peut-être appelée la collection vaisselle.

116
00:08:37,375 --> 00:08:42,605
Donc, nous voyons qu'il y a une structure claire au document lui-même.

117
00:08:42,605 --> 00:08:50,320
Maintenant, comment pouvons-nous refléter cela dans un schéma dans notre application Mongoose ?

118
00:08:50,320 --> 00:08:54,095
Comme vous l'apprendrez dans l'exercice,

119
00:08:54,095 --> 00:08:57,900
nous verrons que nous définirons des schémas en Mongoose.

120
00:08:57,900 --> 00:09:03,085
Donc, le schéma est défini comme un schéma Mongoose ici.

121
00:09:03,085 --> 00:09:08,055
À titre d'exemple, un CommentSchema est montré ici.

122
00:09:08,055 --> 00:09:09,925
Le CommentSchema, comme vous pouvez le voir,

123
00:09:09,925 --> 00:09:13,885
contient trois champs différents : l'évaluation, le commentaire

124
00:09:13,885 --> 00:09:15,445
et le champ auteur,

125
00:09:15,445 --> 00:09:18,745
ainsi que des horodatages ici.

126
00:09:18,745 --> 00:09:23,560
Les horodatages vous permettent d'avoir deux champs différents dans

127
00:09:23,560 --> 00:09:28,850
le document : le champ créé à et le champ mis à jour à,

128
00:09:28,850 --> 00:09:38,200
qui sont tous deux des horodatages stockés sous la forme d'une chaîne de date ISO dans le document.

129
00:09:38,200 --> 00:09:43,615
Maintenant, la note elle-même serait une valeur entière.

130
00:09:43,615 --> 00:09:46,400
Donc, dans la terminologie mongoose,

131
00:09:46,400 --> 00:09:48,755
il sera stocké sous forme de nombre,

132
00:09:48,755 --> 00:09:50,680
le type serait un nombre.

133
00:09:50,680 --> 00:09:53,660
Vous pouvez même spécifier la valeur minimale et la valeur maximale.

134
00:09:53,660 --> 00:09:57,190
Vous pouvez également spécifier que ce champ particulier est obligatoire, ce

135
00:09:57,190 --> 00:10:04,460
qui signifie que chaque document du type de commentaire doit contenir un champ d'évaluation.

136
00:10:04,460 --> 00:10:07,370
De même, vous pouvez également définir un champ de commentaire,

137
00:10:07,370 --> 00:10:08,710
qui est de la chaîne de type.

138
00:10:08,710 --> 00:10:13,635
Donc, évidemment, un commentaire n'est rien d'autre qu'une chaîne qui contient des informations,

139
00:10:13,635 --> 00:10:16,340
et cela peut également être défini comme un champ obligatoire, ce

140
00:10:16,340 --> 00:10:18,805
qui signifie que chaque document doit contenir un commentaire,

141
00:10:18,805 --> 00:10:21,060
et aussi un champ auteur,

142
00:10:21,060 --> 00:10:22,800
qui est également de la chaîne de type.

143
00:10:22,800 --> 00:10:28,030
Donc, vous voyez cela en définissant ce schéma dans ce format.

144
00:10:28,030 --> 00:10:32,600
Comme nous l'avons appris dans la discussion un peu plus tôt, le

145
00:10:32,600 --> 00:10:41,890
schéma est défini en utilisant les différents types que nous avons dans notre application Mongoose.

146
00:10:41,890 --> 00:10:43,030
Donc, dans le schéma, encore une fois,

147
00:10:43,030 --> 00:10:44,900
vous voyez trois champs différents ici,

148
00:10:44,900 --> 00:10:47,135
notation, commentaire et auteur ici,

149
00:10:47,135 --> 00:10:50,665
et chacun d'entre eux a un type spécifique donné,

150
00:10:50,665 --> 00:10:53,060
puis si cela est requis ou non.

151
00:10:53,060 --> 00:10:56,505
Ainsi, vous imposez une structure stricte

152
00:10:56,505 --> 00:11:01,320
sur les documents de commentaires qui vont stocker dans votre application.

153
00:11:01,320 --> 00:11:05,255
Maintenant que nous avons défini un schéma de commentaire, nous pouvons alors,

154
00:11:05,255 --> 00:11:12,254
comme vous l'avez remarqué à partir de l'exemple du type de données que nous avons besoin dans notre application,

155
00:11:12,254 --> 00:11:15,000
nous avons un document plat lui-même.

156
00:11:15,000 --> 00:11:17,620
Le document plat contient divers champs.

157
00:11:17,620 --> 00:11:19,050
Ici, dans l'exercice,

158
00:11:19,050 --> 00:11:23,355
nous allons d'abord introduire seulement deux champs dans le document plat,

159
00:11:23,355 --> 00:11:25,370
le nom et la description.

160
00:11:25,370 --> 00:11:27,010
Dans la leçon suivante,

161
00:11:27,010 --> 00:11:32,330
nous allons présenter les champs restants pour le Dish.Schema.

162
00:11:32,330 --> 00:11:33,680
Maintenant, donc le nom,

163
00:11:33,680 --> 00:11:35,440
comme dans ce cas,

164
00:11:35,440 --> 00:11:36,765
est de la chaîne de type.

165
00:11:36,765 --> 00:11:39,450
Nous pouvons également spécifier qu'il s'agit d'un champ obligatoire, ce

166
00:11:39,450 --> 00:11:43,360
qui signifie que chaque document doit contenir le champ de nom.

167
00:11:43,360 --> 00:11:46,385
Nous pouvons également spécifier que le champ de nom est unique,

168
00:11:46,385 --> 00:11:53,215
ce qui signifie qu'aucun document ne peut avoir exactement la même valeur de nom dans le document.

169
00:11:53,215 --> 00:11:55,980
Ainsi, cela garantit que chaque document aura

170
00:11:55,980 --> 00:12:01,300
un champ de nom unique et un champ de description,

171
00:12:01,300 --> 00:12:03,115
qui est de nouveau de la chaîne de type,

172
00:12:03,115 --> 00:12:06,460
mais également spécifié comme requis.

173
00:12:06,460 --> 00:12:10,010
Maintenant, comme nous l'avons vu dans l'exemple,

174
00:12:10,010 --> 00:12:15,750
un document plat contient plusieurs commentaires inclus dans le document.

175
00:12:15,750 --> 00:12:20,920
Maintenant, dans Mongoose, cela est pris en charge par l'utilisation de sous-documents. Par

176
00:12:20,920 --> 00:12:24,230
conséquent, si vous définissez un schéma plus tôt,

177
00:12:24,230 --> 00:12:27,345
par exemple, nous avons déjà défini un CommentSchema ici,

178
00:12:27,345 --> 00:12:33,370
vous pouvez également définir un champ dans un autre schéma que vous définissez,

179
00:12:33,370 --> 00:12:36,240
puis spécifier que ce champ sera

180
00:12:36,240 --> 00:12:39,520
du type du schéma précédent que vous avez défini.

181
00:12:39,520 --> 00:12:40,960
Donc, dans ce cas,

182
00:12:40,960 --> 00:12:44,360
le champ de commentaires, je le définit comme un tableau,

183
00:12:44,360 --> 00:12:51,545
donc vous voyez l'utilisation d'un type de tableau dans votre schéma que vous définissez ici,

184
00:12:51,545 --> 00:12:55,110
puis tableau du type CommentSchema.

185
00:12:55,110 --> 00:13:00,725
Donc, il s'agit d'un tableau de commentaires qui seront inclus dans chaque document plat.

186
00:13:00,725 --> 00:13:02,590
Ainsi, vous pouvez avoir

187
00:13:02,590 --> 00:13:11,640
plus d'un sous-document de commentaire dans un document plat.

188
00:13:11,640 --> 00:13:16,080
Ainsi, définir la structure comme celle-ci nous permet de prendre en charge

189
00:13:16,080 --> 00:13:20,950
la structure de chaîne JSON correspondante que nous avons définie

190
00:13:20,950 --> 00:13:26,470
pour un document plat ou que nous avons vu dans l'exemple précédent.

191
00:13:26,470 --> 00:13:30,145
Maintenant, une fois que nous définissons le schéma,

192
00:13:30,145 --> 00:13:33,695
pour en faire usage dans notre application,

193
00:13:33,695 --> 00:13:38,600
nous devons créer un modèle à partir de ce schéma que nous venons de définir.

194
00:13:38,600 --> 00:13:40,640
Ainsi, dans notre application,

195
00:13:40,640 --> 00:13:45,320
nous allons définir un modèle Mongoose et spécifier que le modèle

196
00:13:45,320 --> 00:13:51,085
est hors du type Dish.Schema dans cet exemple.

197
00:13:51,085 --> 00:13:54,830
Non seulement cela, vous donnerez également un nom au modèle ici.

198
00:13:54,830 --> 00:13:57,100
Donc, lorsque vous donnez un nom au modèle ici,

199
00:13:57,100 --> 00:14:00,000
nous spécifions le nom comme plat.

200
00:14:00,000 --> 00:14:03,860
Maintenant, lorsque vous utilisez ce modèle plat dans

201
00:14:03,860 --> 00:14:07,870
notre application de noeud où nous utilisons Mongoose,

202
00:14:07,870 --> 00:14:15,280
alors cela sera transformé et mappé en une collection dans ma base de données MongoDB.

203
00:14:15,280 --> 00:14:18,885
La collection elle-même sera nommée comme des plats.

204
00:14:18,885 --> 00:14:23,355
Ainsi, Mongoose sait automatiquement que lorsque vous spécifiez un nom ici,

205
00:14:23,355 --> 00:14:27,990
il construira automatiquement le pluriel

206
00:14:27,990 --> 00:14:31,635
de ce nom, puis donnera à la collection le nom,

207
00:14:31,635 --> 00:14:37,160
qui est le pluriel du nom de modèle que vous spécifiez dans cet exemple ici.

208
00:14:37,160 --> 00:14:39,400
Donc, quand je dis plat ici,

209
00:14:39,400 --> 00:14:42,620
alors Mongoose mappera automatiquement cela dans

210
00:14:42,620 --> 00:14:46,365
la collection de plats dans la base de données MongoDB.

211
00:14:46,365 --> 00:14:53,385
Comment sait-il convertir ce nom singulier en pluriel ?

212
00:14:53,385 --> 00:14:56,750
Mongoose a automatiquement un mécanisme intégré qui

213
00:14:56,750 --> 00:15:01,795
lui permet de construire les pluriels de mots anglais standard.

214
00:15:01,795 --> 00:15:02,965
Donc, si vous dites plat,

215
00:15:02,965 --> 00:15:04,170
il va construire des plats.

216
00:15:04,170 --> 00:15:08,880
Si vous dites leader, il construira le pluriel de celui-ci en tant que leaders, et ainsi de suite.

217
00:15:08,880 --> 00:15:13,250
Donc, cela est déjà intégré dans le module de noeud Mongoose.

218
00:15:13,250 --> 00:15:17,585
Donc, c'est pourquoi quand je spécifie ceci comme un type de modèle plat,

219
00:15:17,585 --> 00:15:24,050
alors Mongoose construira la collection de plats dans ma base de données MongoDB,

220
00:15:24,050 --> 00:15:27,155
puis cette collection de plats stockera

221
00:15:27,155 --> 00:15:33,050
les différents documents du type plat dedans.

222
00:15:33,050 --> 00:15:35,780
Une fois que nous avons créé cela, généralement,

223
00:15:35,780 --> 00:15:38,150
lorsque nous déclarons des modèles dans notre application,

224
00:15:38,150 --> 00:15:43,780
nous les stockons dans un sous-dossier nommé modèles, juste pour plus de commodité.

225
00:15:43,780 --> 00:15:44,900
Vous n'avez pas besoin de le faire,

226
00:15:44,900 --> 00:15:47,320
mais juste pour organiser votre application,

227
00:15:47,320 --> 00:15:50,635
nous le stockons normalement dans un dossier nommé modèles.

228
00:15:50,635 --> 00:15:55,010
Ensuite, le schéma et le modèle seraient

229
00:15:55,010 --> 00:15:59,470
définis dans un fichier comme celui-ci comme vous le voyez dans l'exemple ici,

230
00:15:59,470 --> 00:16:05,230
ce appelé dishes.js, puis cela serait exporté car il s'agit d'un module de nœud.

231
00:16:05,230 --> 00:16:10,970
Cela sera exporté à partir de ce fichier afin qu'il puisse être inclus dans l'application

232
00:16:10,970 --> 00:16:13,100
de nœud, où nous allons utiliser

233
00:16:13,100 --> 00:16:16,620
ce schéma et le modèle que nous venons de définir ici.

234
00:16:16,620 --> 00:16:20,540
Avec cette compréhension rapide du schéma et du modèle et

235
00:16:20,540 --> 00:16:26,370
son utilisation dans la définition de la structure d'un document que nous stockons dans un MongoDB,

236
00:16:26,370 --> 00:16:33,510
revenons en arrière et comprenons un peu plus sur ce que Mongoose nous fournit.

237
00:16:33,510 --> 00:16:39,965
En outre, Mongoose nous permet d'établir la connexion avec le serveur MongoDB.

238
00:16:39,965 --> 00:16:43,070
Mongoose utiliser en interne

239
00:16:43,070 --> 00:16:46,495
le pilote MongoDB que nous avions utilisé dans l'exercice précédent.

240
00:16:46,495 --> 00:16:49,745
Donc, Mongoose dépend du pilote MongoDB, donc,

241
00:16:49,745 --> 00:16:53,824
ce qui signifie que de votre application de nœud basée sur Mongoose,

242
00:16:53,824 --> 00:16:56,960
vous pouvez utiliser toutes les méthodes qui sont déjà

243
00:16:56,960 --> 00:17:01,040
disponibles à partir du pilote MongoDB aussi si vous le choisissez,

244
00:17:01,040 --> 00:17:05,390
mais Mongoose lui-même a sa propre collection de méthodes que nous

245
00:17:05,390 --> 00:17:09,940
pouvons faire utilisation de pour interagir avec la base de données MongoDB,

246
00:17:09,940 --> 00:17:13,645
comme nous le verrons dans l'exercice qui suit.

247
00:17:13,645 --> 00:17:19,040
Permettez-moi de vous montrer brièvement comment établir une connexion à la base de données,

248
00:17:19,040 --> 00:17:21,590
et vous le ferez dans l'exercice qui suit.

249
00:17:21,590 --> 00:17:25,280
Donc, tout comme nous avons déclaré l'URL dans le cas

250
00:17:25,280 --> 00:17:29,160
de l'application de nœud MongoDB dans la leçon précédente,

251
00:17:29,160 --> 00:17:32,630
nous allons toujours déclarer l'URL de notre application.

252
00:17:32,630 --> 00:17:36,965
Ensuite, nous allons utiliser la méthode de connexion Mongoose

253
00:17:36,965 --> 00:17:40,180
et fournir l'URL de la méthode de connexion Mongoose,

254
00:17:40,180 --> 00:17:44,000
ce qui établira la connexion à la base de données.

255
00:17:44,000 --> 00:17:48,590
Avec cette compréhension rapide de Mongoose et le rôle que

256
00:17:48,590 --> 00:17:53,485
joue Mongoose dans la prise en charge de l'insertion structurée

257
00:17:53,485 --> 00:17:58,985
, du stockage et de la récupération de documents de notre MongoDB,

258
00:17:58,985 --> 00:18:02,180
passons à l'exercice où nous

259
00:18:02,180 --> 00:18:07,920
obtiendrons une expérience pratique en utilisant le module Mongoose.