1
00:00:03,920 --> 00:00:10,025
Maintenant que nous avons appris sur le pilote MongoDB de noeud, le module de noeud,

2
00:00:10,025 --> 00:00:14,205
qui permet à notre application de noeud d'interagir

3
00:00:14,205 --> 00:00:18,475
avec un serveur MongoDB, dans cet exercice,

4
00:00:18,475 --> 00:00:23,430
nous allons utiliser le module de noeud et utiliser les différentes méthodes qui sont

5
00:00:23,430 --> 00:00:29,840
supportées par le module de noeud pour fournir une introduction avec notre serveur MongoDB.

6
00:00:29,840 --> 00:00:33,030
Pour commencer, accédez

7
00:00:33,030 --> 00:00:38,135
au dossier NodeJS que vous avez utilisé pour stocker tous vos exemples,

8
00:00:38,135 --> 00:00:45,310
puis créez un nouveau dossier nommé node-mongo.

9
00:00:45,320 --> 00:00:48,125
Dans ce dossier, nous allons développer

10
00:00:48,125 --> 00:00:52,715
l'application NodeJS qui interagit avec notre serveur MongoDB.

11
00:00:52,715 --> 00:00:57,140
Maintenant, assurez-vous que votre serveur MongoDB est opérationnel,

12
00:00:57,140 --> 00:01:02,675
donc dans l'exercice précédent, nous avons déjà vu comment notre serveur MongoDB peut être démarré.

13
00:01:02,675 --> 00:01:07,370
Donc, gardez le serveur MongoDB en service et dans une

14
00:01:07,370 --> 00:01:12,060
autre fenêtre de terminal, onglet terminal ou fenêtre de commande,

15
00:01:12,060 --> 00:01:15,020
allez dans le dossier node-mongo que vous venez de

16
00:01:15,020 --> 00:01:18,135
créer et initialisez une application de nœud ici.

17
00:01:18,135 --> 00:01:22,910
Donc, laissez-moi taper npm init et nous

18
00:01:22,910 --> 00:01:29,765
nommerons l'application comme Node-Mongo et version,

19
00:01:29,765 --> 00:01:36,895
description Node MongoDB Exemple,

20
00:01:36,895 --> 00:01:39,295
et le point d'entrée

21
00:01:39,295 --> 00:01:48,980
, et l'auteur, tout comme nous avons rempli les exercices précédents.

22
00:01:48,980 --> 00:01:53,255
Ensuite, une fois que le fichier package.json est initialisé,

23
00:01:53,255 --> 00:01:59,610
ouvrez ceci dans l'éditeur de votre choix.

24
00:01:59,610 --> 00:02:02,635
Maintenant, dans le fichier package.json,

25
00:02:02,635 --> 00:02:09,370
permettez-moi d'introduire un autre script ici comme nous l'avons fait plus tôt, donc,

26
00:02:09,370 --> 00:02:16,350
nous allons dire « start » : « node index » et enregistrer les changements.

27
00:02:16,350 --> 00:02:18,010
En revenant au terminal,

28
00:02:18,010 --> 00:02:22,350
installons le module de nœud MongoDB.

29
00:02:22,350 --> 00:02:30,080
Donc, tapez npm install mongodb @3 .0.10 —save.

30
00:02:30,080 --> 00:02:33,590
Nous allons également installer le module assert node, donc,

31
00:02:33,590 --> 00:02:39,460
nous dirons npm install assert @1 .4.1 —save.

32
00:02:39,460 --> 00:02:42,710
Le module assert nous permet d'utiliser l'assertion

33
00:02:42,710 --> 00:02:46,720
pour vérifier la vérité ou les fausses valeurs dans notre application,

34
00:02:46,720 --> 00:02:49,535
et vous me verrez l'utiliser plus tard.

35
00:02:49,535 --> 00:02:52,645
Maintenant que nous avons installé ces modules de noeud,

36
00:02:52,645 --> 00:02:58,355
créons notre application de noeud qui interagit avec le serveur MongoDB.

37
00:02:58,355 --> 00:03:00,455
Pour revenir à l'éditeur,

38
00:03:00,455 --> 00:03:01,915
dans le dossier du projet,

39
00:03:01,915 --> 00:03:05,465
créez un fichier nommé index.js,

40
00:03:05,465 --> 00:03:07,684
et c'est là que nous allons créer

41
00:03:07,684 --> 00:03:12,030
l'application de nœud qui interagit avec notre serveur MongoDB.

42
00:03:12,030 --> 00:03:14,425
Donc, dans cette application,

43
00:03:14,425 --> 00:03:18,630
tapez const Mongoclient,

44
00:03:18,800 --> 00:03:21,555
et puis ils diront,

45
00:03:21,555 --> 00:03:28,160
require (`mongodb`), le module de noeud MongoDB que nous avons déjà installé,

46
00:03:28,160 --> 00:03:30,335
et ensuite cela nous fournirait

47
00:03:30,335 --> 00:03:38,045
le MongoClient qui nous permet de se connecter au serveur MongoDB.

48
00:03:38,045 --> 00:03:47,160
Aussi, exiger le module assert.

49
00:03:48,830 --> 00:03:53,870
Maintenant, pour démarrer une connexion au serveur MongoDB,

50
00:03:53,870 --> 00:04:03,590
créons une URL de nom constant qui sera l'URL où le serveur MongoDB peut être

51
00:04:03,590 --> 00:04:08,030
accédé et l'accès du bébé est

52
00:04:08,030 --> 00:04:14,950
en disant mongodb : //localhost : 27017/.

53
00:04:14,950 --> 00:04:19,360
Rappelons que c'est le numéro de port sur lequel votre serveur MongoDB

54
00:04:19,360 --> 00:04:25,025
exécute 27017 const dbname=,

55
00:04:25,025 --> 00:04:27,205
puis ils diront confusion.

56
00:04:27,205 --> 00:04:28,820
Rappelons que nous avons créé

57
00:04:28,820 --> 00:04:34,060
la base de données Confusion dans notre serveur MongoDB dans l'exercice précédent

58
00:04:34,060 --> 00:04:39,310
, donc, nous allons accéder à la base de données Confusion que nous avons créée précédemment.

59
00:04:39,310 --> 00:04:46,240
Maintenant, pour accéder au serveur, nous allons dire MongoClient.connect.

60
00:04:48,690 --> 00:04:54,790
Ainsi, la méthode connect nous permet de nous connecter au MongoClient à partir de notre serveur MongoDB,

61
00:04:54,790 --> 00:04:59,230
puis nous dirons que cela prend l'URL comme premier paramètre,

62
00:04:59,230 --> 00:05:02,485
l'URL du serveur MongoDB comme premier paramètre.

63
00:05:02,485 --> 00:05:06,590
Le deuxième paramètre est une fonction de rappel.

64
00:05:06,590 --> 00:05:14,275
Ainsi, la fonction de rappel a deux paramètres, la valeur d'erreur,

65
00:05:14,275 --> 00:05:17,915
et le client, que nous pouvons ensuite utiliser

66
00:05:17,915 --> 00:05:22,405
pour se connecter à notre base de données, puis effectuer diverses opérations.

67
00:05:22,405 --> 00:05:27,040
Donc, à l'intérieur de cette fonction de rappel, la

68
00:05:27,040 --> 00:05:36,400
première chose que nous allons faire est de vérifier que l'erreur n'est pas nulle.

69
00:05:36,400 --> 00:05:39,740
Ainsi, l'assertion vérifiera si l'erreur est égale à null, de

70
00:05:39,740 --> 00:05:45,640
sorte que la fonction assert nous permet d'effectuer diverses vérifications sur les valeurs.

71
00:05:45,640 --> 00:05:48,010
Donc, nous vérifions pour nous assurer que l'erreur ne l'est pas,

72
00:05:48,010 --> 00:05:49,785
si elle n'est pas nulle,

73
00:05:49,785 --> 00:05:55,660
alors cela signifie qu'il y a une erreur et donc nous allons montrer l'erreur à l'écran.

74
00:05:55,660 --> 00:05:59,650
Donc, c'est l'utilisation de la fonction assert ici.

75
00:05:59,650 --> 00:06:03,025
Maintenant, si cela ne se produit pas,

76
00:06:03,025 --> 00:06:07,430
cela signifie que nous avons correctement connecté au serveur,

77
00:06:07,430 --> 00:06:15,170
donc nous allons dire `connecté correctement au serveur

78
00:06:15,170 --> 00:06:25,120
const db= client.db (dbname) pour se connecter à la base de données,

79
00:06:25,120 --> 00:06:33,570
alors nous pouvons dire const collection db. ,

80
00:06:33,570 --> 00:06:38,810
donc la base de données nous fournira diverses méthodes qui nous permettent d'

81
00:06:38,810 --> 00:06:44,380
interagir avec le serveur donc nous dirons db.collection (`dishes`) Donc,

82
00:06:44,380 --> 00:06:49,765
nous allons essayer d'accéder à la collection de plats dans cette base de données.

83
00:06:49,765 --> 00:06:55,175
Maintenant, la prochaine chose que nous allons essayer de faire est

84
00:06:55,175 --> 00:07:04,414
collection.insertone donc nous allons essayer d'insérer un objet dans la collection,

85
00:07:04,414 --> 00:07:08,360
et cet objet serait avec

86
00:07:08,360 --> 00:07:28,510
le nom et la description, « test ».

87
00:07:28,510 --> 00:07:32,520
Donc, cette collection fournit cette méthode appelée InserTone,

88
00:07:32,520 --> 00:07:36,825
qui nous permet d'insérer un document dans cette collection,

89
00:07:36,825 --> 00:07:42,825
et le document est le premier argument de cette méthode ici.

90
00:07:42,825 --> 00:07:49,780
Le deuxième argument de la méthode est une fonction de rappel,

91
00:07:49,780 --> 00:07:56,720
et la fonction de rappel prend deux paramètres, erreur et résultat.

92
00:07:58,260 --> 00:08:01,000
Ainsi, dans cette fonction de rappel,

93
00:08:01,000 --> 00:08:03,180
si le résultat est obtenu,

94
00:08:03,180 --> 00:08:08,610
alors nous sommes en mesure d'accéder à la collection et ensuite d'effectuer d'autres opérations.

95
00:08:08,610 --> 00:08:16,645
Donc, ici, la première chose que nous allons faire est de vérifier que l'erreur n'est pas nulle.

96
00:08:16,645 --> 00:08:19,450
Donc, nous allons faire une affirmation là,

97
00:08:19,450 --> 00:08:33,470
et puis ici nous pouvons dire, « Après insertion ».

98
00:08:37,770 --> 00:08:45,145
Donc, après avoir inséré, nous voyons que nous

99
00:08:45,145 --> 00:08:51,490
obtenons la valeur de résultat qui y est retourné, donc ce résultat.

100
00:08:51,490 --> 00:08:56,070
Ce résultat fournira également

101
00:08:56,070 --> 00:09:00,805
cette propriété OPS qui indique combien d'opérations viennent d'être menées avec succès.

102
00:09:00,805 --> 00:09:02,715
Donc, c'est ce que je vais imprimer.

103
00:09:02,715 --> 00:09:05,140
Donc, il dira que le nombre inséré est un.

104
00:09:05,140 --> 00:09:12,030
Donc, ce qui signifie que ce document particulier a été inséré dans la base de données.

105
00:09:12,070 --> 00:09:15,440
Donc, c'est ce que nous allons confirmer ici.

106
00:09:15,440 --> 00:09:19,810
Ensuite, après cela, nous allons effectuer une autre option,

107
00:09:19,810 --> 00:09:22,415
une opération sur la collection, et dire,

108
00:09:22,415 --> 00:09:30,200
collection find, et nous allons essayer de rechercher tous les enregistrements de la collection.

109
00:09:30,200 --> 00:09:37,420
Donc, ici, nous allons fournir une chaîne JSON vide ou un objet JavaScript de niveau correspondant.

110
00:09:37,420 --> 00:09:40,895
Donc, il va chercher tout ce qui est là dans la collection,

111
00:09:40,895 --> 00:09:43,750
puis, nous fournir cela.

112
00:09:43,750 --> 00:09:48,640
Ensuite, cela peut être converti en un tableau d'objets JSON.

113
00:09:48,640 --> 00:09:52,215
Donc, c'est pourquoi nous appelons le ToArray,

114
00:09:52,215 --> 00:09:59,365
et cela prend une fonction de rappel comme paramètre.

115
00:09:59,365 --> 00:10:07,065
Le premier paramètre bien sûr est la valeur d'erreur, donc encore une fois,

116
00:10:07,065 --> 00:10:16,365
nous vérifions que l'erreur n'est pas nulle.

117
00:10:16,365 --> 00:10:25,990
Ensuite, nous dirons, console.log trouvé,

118
00:10:25,990 --> 00:10:29,140
puis imprimer tout ce qui a été trouvé,

119
00:10:29,140 --> 00:10:32,505
et nous dirons console.log.

120
00:10:32,505 --> 00:10:35,080
Ainsi, le deuxième paramètre ici, docs,

121
00:10:35,080 --> 00:10:38,370
retournera tous les documents de cette collection

122
00:10:38,370 --> 00:10:42,380
qui correspondent aux critères que vous spécifiez ici.

123
00:10:42,380 --> 00:10:43,970
Comme c'est vide,

124
00:10:43,970 --> 00:10:47,535
cela signifie que tous les documents de la collection nous seront retournés.

125
00:10:47,535 --> 00:10:49,500
Vous pouvez spécifier ici un filtre, en

126
00:10:49,500 --> 00:10:54,030
indiquant que le nom est égal à une valeur

127
00:10:54,030 --> 00:10:57,325
, et seuls les documents qui correspondent à cette valeur seront récupérés.

128
00:10:57,325 --> 00:11:04,040
Donc, ici, laissez-moi juste imprimer les documents ici,

129
00:11:04,040 --> 00:11:07,660
pour indiquer que cet élément a

130
00:11:07,660 --> 00:11:11,990
été inséré dans la collection et sera ensuite récupéré,

131
00:11:11,990 --> 00:11:15,950
et nous allons juste l'imprimer juste pour nous assurer que le document que nous venons d'

132
00:11:15,950 --> 00:11:20,590
insérer dans l'opération précédente est effectivement dans la collection,

133
00:11:20,590 --> 00:11:22,420
et donc nous allons l'imprimer ici.

134
00:11:22,420 --> 00:11:28,060
Maintenant, après cela, nous allons utiliser

135
00:11:28,060 --> 00:11:35,880
la méthode DropCollection ici.

136
00:11:35,880 --> 00:11:40,560
Donc, DropCollection va supprimer la collection spécifiée ici.

137
00:11:40,560 --> 00:11:42,410
Donc, nous allons dire les plats DropCollection,

138
00:11:42,410 --> 00:11:45,820
donc je vais juste supprimer la collection de plats de ma base de données.

139
00:11:45,820 --> 00:11:48,180
Donc, je vais juste nettoyer la base de données, puis la

140
00:11:48,180 --> 00:11:51,090
laisser avec une base de données vide afin que nous puissions passer à

141
00:11:51,090 --> 00:11:53,610
l'exercice suivant où nous pouvons à nouveau

142
00:11:53,610 --> 00:11:57,115
effectuer des opérations similaires pour vérifier cela.

143
00:11:57,115 --> 00:12:00,455
Celui-ci prend, comme second paramètre,

144
00:12:00,455 --> 00:12:06,815
une fonction de rappel qui renvoie soit une erreur, soit un résultat.

145
00:12:06,815 --> 00:12:16,040
À l'intérieur de cela, nous allons vérifier et nous assurer que l'affirmation n'est pas nulle,

146
00:12:16,440 --> 00:12:20,780
puis nous dirons, client.close.

147
00:12:20,780 --> 00:12:25,425
Nous fermerons donc la connexion à la base de données sur place.

148
00:12:25,425 --> 00:12:34,465
Donc, avec cela, cet ensemble simple de méthodes nous permet d'interagir avec notre serveur,

149
00:12:34,465 --> 00:12:41,150
et aussi il nous montre comment nous pouvons communiquer avec le serveur en utilisant

150
00:12:41,150 --> 00:12:48,185
les méthodes qui sont disponibles via ce module de noeud MongoDB ou le pilote MongoDB.

151
00:12:48,185 --> 00:12:51,900
Donc, ici, vous voyez que nous effectuons d'abord une opération d'insertion.

152
00:12:51,900 --> 00:12:54,875
Ensuite, après l'opération d'insertion, notez que,

153
00:12:54,875 --> 00:12:59,715
nous faisons la deuxième opération à l'intérieur de la fonction de rappel.

154
00:12:59,715 --> 00:13:07,490
Ainsi, cela garantit que cette opération a été terminée avant de faire la suivante.

155
00:13:07,490 --> 00:13:15,680
Donc, c'est un deuxième appel qui est enfermé à l'intérieur de la première fonction de rappel,

156
00:13:15,680 --> 00:13:19,470
puis en conséquence, à l'intérieur de cela.

157
00:13:19,470 --> 00:13:24,370
Nous appelons de nouveau les méthodes ici et à l'intérieur.

158
00:13:24,370 --> 00:13:28,080
Donc, vous voyez qu'il y a un imbrication de ces appels,

159
00:13:28,080 --> 00:13:29,435
l'un à l'intérieur de l'autre.

160
00:13:29,435 --> 00:13:32,200
Notez la structure parce que je vais revenir pour

161
00:13:32,200 --> 00:13:35,755
expliquer quelque chose à ce sujet dans l'un des exercices ultérieurs.

162
00:13:35,755 --> 00:13:40,235
Donc, notez que, l'imbrication de ces appels l'un dans l'autre.

163
00:13:40,235 --> 00:13:43,020
Sauvegardons les modifications,

164
00:13:43,210 --> 00:13:49,330
puis voyons ce que fait cette application lorsque nous l'exécutons.

165
00:13:49,330 --> 00:13:51,685
Revenir au terminal, encore une fois,

166
00:13:51,685 --> 00:13:55,170
assurez-vous que votre serveur MongoDB est opérationnel, et donc,

167
00:13:55,170 --> 00:14:00,560
quand il est en cours d'exécution, il va imprimer beaucoup de messages de journal sur la console.

168
00:14:00,560 --> 00:14:04,230
On peut juste ignorer ces messages de journal pour l'instant.

169
00:14:04,230 --> 00:14:06,710
Exécutons l'application de nœud.

170
00:14:06,710 --> 00:14:09,330
Donc, nous allons dire, npm start,

171
00:14:09,330 --> 00:14:12,095
et lorsque l'application de nœud s'exécute,

172
00:14:12,095 --> 00:14:14,875
vous remarquez ce que fait l'application de nœud.

173
00:14:14,875 --> 00:14:19,705
Donc, il dit, connecté correctement au serveur, Après Insertion,

174
00:14:19,705 --> 00:14:22,260
alors il montre que

175
00:14:22,260 --> 00:14:28,375
ce document particulier a été inséré dans notre MongoDB et le nœud en particulier,

176
00:14:28,375 --> 00:14:29,540
l'ID donné ici.

177
00:14:29,540 --> 00:14:32,570
Donc, notez que cela ne dit pas qu'il s'agit d'un ID d'objet.

178
00:14:32,570 --> 00:14:35,995
Cet ID est automatiquement inséré par

179
00:14:35,995 --> 00:14:39,730
le nœud pilote Mongo dans leur document lorsque

180
00:14:39,730 --> 00:14:43,745
vous essayez de l'insérer dans le serveur MongoDB ici.

181
00:14:43,745 --> 00:14:48,950
Ce format est exactement le même que l'ID d'objet que nous avons vu.

182
00:14:48,950 --> 00:14:53,910
Par la suite, nous avons effectué une opération de recherche.

183
00:14:53,910 --> 00:14:55,560
Donc, ceci est trouvé,

184
00:14:55,560 --> 00:14:58,710
et puis il imprime cet article ici.

185
00:14:58,710 --> 00:15:01,550
Notez que de l'exercice précédent,

186
00:15:01,550 --> 00:15:08,470
nous avions laissé dans le document précédent que nous avions inséré dans l'exercice précédent.

187
00:15:08,470 --> 00:15:11,005
Donc, cela est toujours vu dans la collection ici,

188
00:15:11,005 --> 00:15:13,500
et le nouveau document que nous venons d'insérer ici.

189
00:15:13,500 --> 00:15:17,179
Ce document est vu juste en dessous de cela,

190
00:15:17,179 --> 00:15:20,510
mais notez que ces deux ont deux ID différents.

191
00:15:20,510 --> 00:15:25,030
Cet ID correspond à l'ID du document que nous venons d'insérer.

192
00:15:25,030 --> 00:15:28,455
Donc, il s'agit de restes de l'exercice précédent.

193
00:15:28,455 --> 00:15:32,765
Après cela, bien sûr, nous abandonnons la collection afin que

194
00:15:32,765 --> 00:15:38,060
tout cet ensemble de documents et la collection de plats soient supprimés de notre base de données.

195
00:15:38,060 --> 00:15:41,060
Donc, maintenant notre base de données sera propre et vide.

196
00:15:41,060 --> 00:15:44,930
Donc, cela vous montre comment nous pouvons utiliser

197
00:15:44,930 --> 00:15:52,900
le pilote MongoDB pour communiquer à partir de notre application de nœud avec le serveur.

198
00:15:52,900 --> 00:15:55,330
Maintenant que nous avons notre application,

199
00:15:55,330 --> 00:16:01,000
permettez-moi de présenter un .gitignore

200
00:16:01,000 --> 00:16:06,720
ici, puis de mettre des modules de noeud dans le .gitignore,

201
00:16:06,720 --> 00:16:10,540
et vous comprenez rapidement pourquoi je fais cela.

202
00:16:10,540 --> 00:16:16,595
Ensuite, nous allons revenir en arrière et initialiser le dépôt Git, puis faire un commit git. En

203
00:16:16,595 --> 00:16:18,590
revenant au terminal,

204
00:16:18,590 --> 00:16:21,505
laissez-moi initialiser le dépôt Git,

205
00:16:21,505 --> 00:16:31,460
puis, vérifions l'état Git et vous voyez qu'il y a des fichiers non validés.

206
00:16:31,460 --> 00:16:37,204
Alors laissez-moi les vérifier et ensuite faire un commit git avec le message,

207
00:16:37,204 --> 00:16:46,450
Node MongoDB Exemple un.

208
00:16:46,450 --> 00:16:49,305
C' est la première partie de l'exercice,

209
00:16:49,305 --> 00:16:54,020
donc nous allons juste vérifier les éléments dans notre dépôt git.

210
00:16:54,020 --> 00:16:56,900
Ceci complète cet exercice.

211
00:16:56,900 --> 00:17:01,760
Dans cet exercice, nous avons vu comment nous installons le module de noeud,

212
00:17:01,760 --> 00:17:04,365
le pilote MongoDB, puis,

213
00:17:04,365 --> 00:17:07,835
nous avons pu communiquer avec notre serveur MongoDB à partir de

214
00:17:07,835 --> 00:17:12,740
notre application de noeud en utilisant les méthodes fournies par le pilote MongoDB.

215
00:17:12,740 --> 00:17:17,840
Nous allons continuer avec cet exercice dans la prochaine partie de

216
00:17:17,840 --> 00:17:24,380
l'exercice où nous allons explorer quelques autres méthodes du pilote MongoDB.