1
00:00:00,420 --> 00:00:01,800
OK bienvenue de retour.

2
00:00:01,860 --> 00:00:10,520
Il est temps que nous prenions ce que nous avons appris sur Mongo D.B et à propos de mangouste et nous ajoutons cela dans notre application de camp afin que nous puissions ajouter une certaine persistance de données.

3
00:00:10,980 --> 00:00:19,600
Donc, les trois étapes principales sont l'installation et la configuration de mangouste et ensuite nous devons configurer le modèle le schéma et le modèle pour le terrain de camping.

4
00:00:20,040 --> 00:00:23,220
Et puis nous devons utiliser le modèle de terrain de camping au lieu de nos itinéraires.

5
00:00:23,310 --> 00:00:33,080
Avant d'aller plus loin, je tiens à souligner que j'utilise le V-2 du camp, donc j'ai fait une autre copie de V-1 et je vais travailler à l'intérieur de cela pour les prochaines vidéos.

6
00:00:33,270 --> 00:00:35,800
Et c'est parce que nous allons commencer à faire des changements plus importants.

7
00:00:35,820 --> 00:00:40,130
Certains fichiers vont se déplacer, mais je veux toujours que vous puissiez regarder le code V-1.

8
00:00:40,200 --> 00:00:44,520
Donc V-2 et je vais être sûr de vous faire savoir quand nous commençons à travailler au lieu de v3.

9
00:00:44,580 --> 00:00:46,110
Alors voyons ce que nous avons pour l'instant.

10
00:00:46,200 --> 00:00:48,850
Courons après Oui.

11
00:00:49,320 --> 00:00:50,640
Et rafraîchir.

12
00:00:51,210 --> 00:00:51,530
D'ACCORD.

13
00:00:51,540 --> 00:01:02,030
Donc, nous avons notre terrain de camping, nous pouvons ajouter un nouveau terrain de camping, mais bien sûr, nous avons le problème où dès que je redémarrer le serveur et les nouveaux terrains de camping que nous ajoutons vont disparaître.

14
00:01:02,400 --> 00:01:03,730
Alors allons aborder cela.

15
00:01:04,080 --> 00:01:09,530
Ouvrons tout ce dont nous avons besoin, ce qui est vraiment juste le dossier Jasc application pour l'instant.

16
00:01:10,440 --> 00:01:13,380
Et la première chose que nous voulons faire est d'installer la mangouste.

17
00:01:13,380 --> 00:01:22,890
Donc NPM installer mongoose dash dash sauver et tandis que cela va nous voulons nous assurer que nous avons notre processus en cours d'exécution en arrière-plan.

18
00:01:22,890 --> 00:01:27,970
Homme-Dieu OK, c'est fait maintenant et nous pourrions regarder le paquet.

19
00:01:28,030 --> 00:01:31,760
Jason vérifie que nous avons ici la mangouste.

20
00:01:31,890 --> 00:01:33,790
Voilà.

21
00:01:34,080 --> 00:01:35,030
C'est maintenant ici.

22
00:01:35,040 --> 00:01:45,910
Nous allons exiger mangouste de l'enregistrer à une variable appelée mongoose juste comme ça.

23
00:01:45,960 --> 00:02:01,800
Et une note rapide note ce que vous verrez assez souvent quand nous avons beaucoup d'exigences requises au sommet est quelque chose comme cela où nous pouvons effectivement se débarrasser de la Varsity les déclarations et de le faire si nous avons plusieurs déclarations de variables dans une rangée.

24
00:02:02,100 --> 00:02:04,650
Nous pouvons les séparer par des virgules.

25
00:02:04,650 --> 00:02:06,100
Voilà.

26
00:02:06,510 --> 00:02:12,190
Et cela fera une variable appelée expression autre appelée à l'analyseur de corps et Mongoose, il fonctionnera tout de même.

27
00:02:12,260 --> 00:02:14,230
Nous n'avons pas à écrire beaucoup et encore.

28
00:02:14,520 --> 00:02:23,580
Et ce que vous verrez aussi parfois, c'est que les gens vont aligner ces derniers afin qu'il ressemble à cela.

29
00:02:23,700 --> 00:02:25,760
Et c'est vraiment une question de préférence personnelle.

30
00:02:25,770 --> 00:02:27,890
Je vais le laisser ici pour l'instant juste pour que vous le voyiez.

31
00:02:28,110 --> 00:02:29,340
Mais vous verrez dans les deux sens.

32
00:02:29,370 --> 00:02:31,540
Il n'affecte pas la façon dont le code fonctionne.

33
00:02:31,830 --> 00:02:34,040
C'est juste un petit changement stylistique.

34
00:02:34,320 --> 00:02:40,140
OK, nous allons sauver et exécuter Knode après Jésus, assurez-vous que nous n'obtenons pas d'erreurs.

35
00:02:40,140 --> 00:02:41,090
Génial.

36
00:02:41,130 --> 00:02:43,410
Maintenant, ce que nous voulons faire est de connecter la mangouste.

37
00:02:43,410 --> 00:03:02,570
Donc, nous allons faire mongoose connecter et nous n'avons pas encore une base de données dans notre Mongar TV pour que nous puissions simplement faire un dynamiquement et nous avons besoin de se connecter à Mongo DB colon slash slash localhost slash, puis le nom d'un Base de données qui n'existe pas encore.

38
00:03:02,610 --> 00:03:06,980
Alors appelez-le simplement camp de Yelp juste comme ça et économisez.

39
00:03:07,530 --> 00:03:18,240
Et ceci créera la base de données de campagnes de Yelp pour nous au lieu de Mangu D-B et nous pouvons juste tester cela dehors si nous courons l'app aucun aucun problème du tout.

40
00:03:18,270 --> 00:03:23,230
La prochaine chose que nous devons faire est de mettre en place notre schéma et je vais le faire ici.

41
00:03:24,120 --> 00:03:26,430
J'ajouterai donc un petit commentaire ici.

42
00:03:26,430 --> 00:03:34,550
Schéma mis en place et ce fichier va être un peu long et dans la vidéo à venir, nous allons le refactoriser.

43
00:03:34,560 --> 00:03:38,040
Ce n'est donc pas la façon dont vous le feriez dans une application de production réelle.

44
00:03:38,070 --> 00:03:44,840
Si vous aviez 10 modèles différents et des schémas différents, il deviendrait très fou très vite, surtout si vous aviez beaucoup de routes.

45
00:03:44,850 --> 00:03:49,860
Nous allons donc briser ce dossier en fichiers séparés plus tard, mais pour l'instant nous faisons juste un schéma.

46
00:03:49,980 --> 00:04:04,030
Alors appelez-nous le schéma de terrain de camping var et puis nous allons définir que égale à nouveau mongoose schéma de capitale nous.

47
00:04:04,050 --> 00:04:10,570
Et pour l'instant un terrain de camping a juste un nom qui est une ficelle et une image.

48
00:04:10,600 --> 00:04:29,910
C'est aussi une chaîne et nous utilisons simplement ce que nous avons déjà ici et nous allons sauver alors la dernière chose que nous devons faire est de compiler cela dans un terrain de camping modèle var égale mongoose top modèle et puis ici encore camping en guillemets.

49
00:04:29,910 --> 00:04:35,180
Et enfin le schéma qui est le schéma du terrain du camp.

50
00:04:35,930 --> 00:04:47,060
Ok, alors ce que cela devrait faire est de nous faire un modèle maintenant qui utilise ce schéma et a un tas de méthodes sur elle afin que nous puissions faire des choses comme le terrain de camping trouver.

51
00:04:47,760 --> 00:04:51,430
Et la première chose que nous voulons faire est d'ajouter dans un terrain de camping simple.

52
00:04:51,600 --> 00:04:57,930
Prenons l'un d'entre eux et nous allons faire un camp de camping pour créer pour commencer.

53
00:04:58,380 --> 00:05:00,400
Donc, ça ressemble à ça.

54
00:05:00,630 --> 00:05:07,030
Et ce n'est qu'une chose temporaire juste pour s'assurer que les choses fonctionnent, nous allons le supprimer dès que nous l'essayons.

55
00:05:07,050 --> 00:05:12,620
Donc camping créer et puis se souvenir que nous passons dans l'objet que nous voulons créer.

56
00:05:12,880 --> 00:05:17,180
Je vais mettre en forme un peu plus agréable comme ça.

57
00:05:17,250 --> 00:05:23,100
Nous créons d'abord l'objet et ensuite nous avons cette fonction de rappel après.

58
00:05:24,480 --> 00:05:28,580
La première chose est l'erreur et ensuite la deuxième serait le terrain de camping.

59
00:05:29,160 --> 00:05:31,610
Et nous ferons simplement un journal simple et constant.

60
00:05:31,710 --> 00:05:47,020
Donc, si l'erreur annule cette erreur de journal, sinon annuler le journal nouvellement créé terrain de camping.

61
00:05:47,460 --> 00:05:48,820
Juste comme ça.

62
00:05:49,120 --> 00:05:51,590
Et puis sur la ligne suivante, nous allons faire contre ..

63
00:05:51,630 --> 00:05:52,510
Pouah.

64
00:05:52,920 --> 00:05:54,990
Camping.

65
00:05:55,920 --> 00:05:56,360
D'ACCORD.

66
00:05:56,380 --> 00:05:57,780
Donc, oui, c'est beaucoup de code.

67
00:05:58,000 --> 00:06:05,870
Mais ce que nous faisons, c'est de créer un terrain de camping avec ces données, puis je l'ai juste espacé plutôt que de le faire tout sur une ligne gigantesque.

68
00:06:05,940 --> 00:06:10,690
Je l'ai espacée de sorte que nous avons la fonction de rappel qui sera exécuté une fois que cela est fait.

69
00:06:10,830 --> 00:06:17,120
Que ce soit réussit ou non, nous avons une fonction de rappel et nous traitons l'erreur la traiter de façon équitable.

70
00:06:17,130 --> 00:06:18,690
Nous imprimons donc une erreur.

71
00:06:18,940 --> 00:06:21,850
Et s'il n'y a pas d'erreur, nous allons imprimer le terrain de camping.

72
00:06:21,850 --> 00:06:22,520
D'accord.

73
00:06:22,710 --> 00:06:26,590
Donc, ce que nous pouvons faire maintenant est de tester cela en exécutant simplement le noeud.

74
00:06:28,590 --> 00:06:29,250
Voilà.

75
00:06:29,250 --> 00:06:30,580
Terrain de camping nouvellement créé.

76
00:06:30,720 --> 00:06:33,680
Alors que créer fonctionnait.

77
00:06:33,840 --> 00:06:35,680
Il n'y avait aucune erreur rien imprimé.

78
00:06:35,700 --> 00:06:39,160
Donc, nous avons obtenu cela et il ressemble à l'image et le nom.

79
00:06:39,390 --> 00:06:46,200
Et aussi pour vérifier qu'il peut ouvrir le Conseil Mongo et nous pouvons faire un spectacle TBS.

80
00:06:46,200 --> 00:06:53,110
Voici notre nouvelle base de données de Joachim et nous pouvons utiliser la came Yelp comme ça.

81
00:06:53,760 --> 00:07:05,640
Et puis ce que nous pouvons faire est de montrer des collections et nous avons des terrains de camping qui est généré parce que le nom de notre modèle Cingular est camping et il pluralized pour nous.

82
00:07:05,640 --> 00:07:13,220
Et puis ce que nous pouvons faire est D-B terrains de camping espère que trouver.

83
00:07:13,650 --> 00:07:19,840
Et là, nous allons un terrain de camping, il a un ID automatiquement attribué le nom et l'image.

84
00:07:20,190 --> 00:07:21,080
Impressionnant.

85
00:07:21,120 --> 00:07:26,880
Donc nous allons sortir et ensuite ajouter dans un terrain de camping plus va se débarrasser de celui-ci.

86
00:07:27,090 --> 00:07:35,480
Et plutôt que Semin Creek nous ferons granite hill et je veux juste que nous ayons quelques données de démarreur pour travailler avec.

87
00:07:35,550 --> 00:07:39,200
Donc, l'image du nom juste comme ça.

88
00:07:39,450 --> 00:07:45,510
Et puis nous pouvons exécuter ce nouveau nœud de sauvegarde.

89
00:07:45,630 --> 00:07:52,310
Oui, il ya notre deuxième terrain de camping que nous avons créé granite Hill et c'est suffisant pour l'instant.

90
00:07:52,560 --> 00:07:55,830
La prochaine chose que nous voulons faire est de remplacer tout ce code ici.

91
00:07:55,950 --> 00:08:04,550
Nous pouvons nous débarrasser de tout ce code, mais nous voulons aussi remplacer tout le code où nous utilisons ce terrain de camping au réseau plutôt que d'utiliser un tableau codé en dur.

92
00:08:04,560 --> 00:08:15,130
Ce que nous allons faire ici lorsque nous recevons tous les terrains de camping et de les montrer sur la liste de cette page ici, nous allons récupérer tous les terrains de camping de la base de données afin que nous puissions faire cela d'abord.

93
00:08:15,270 --> 00:08:17,310
Je vais maintenant commenter cette ligne.

94
00:08:17,820 --> 00:08:25,190
Nous avons besoin d'obtenir tous les terrains de camping de la D-B et nous voulons rendre ce fichier.

95
00:08:25,620 --> 00:08:32,800
Et la façon dont nous obtenons tous les terrains de camping est avec terrain de camping trouver et nous sommes à la recherche de tout.

96
00:08:33,580 --> 00:08:49,370
Et puis nous avons besoin d'une fonction de rappel et il prend l'erreur d'abord et ensuite notre paramètre sera appelé camping et vérifiera toujours s'il y avait une erreur si l'erreur.

97
00:08:49,500 --> 00:08:52,150
Et nous allons juste faire une erreur de journalisation constante.

98
00:08:52,140 --> 00:08:58,090
Pour l'instant, nous aurons une meilleure gestion des erreurs plus tard, lorsque nous afficherons un message à un utilisateur.

99
00:08:58,120 --> 00:08:59,640
Pour l'instant nous ne faisons que l'imprimer.

100
00:09:00,140 --> 00:09:09,440
Et puis ici ce que nous allons faire est de faire un rendu de point rouge comme nous l'avons ici et nous pouvons en fait laisser la façon dont il est.

101
00:09:09,610 --> 00:09:18,630
Et la raison en est que nous voulons toujours rendre le terrain de camping et dans le dossier des terrains de camping Nous nous attendons à ce qu'il s'appelle des terrains de camping.

102
00:09:18,720 --> 00:09:26,640
La différence est la source du camping n'est plus le tableau que nous avions ici terrain de camping est définie ici.

103
00:09:26,670 --> 00:09:28,440
Alors rendons un peu plus clair.

104
00:09:28,530 --> 00:09:33,900
Je vais appeler ça tous les terrains de camping comme ça.

105
00:09:34,500 --> 00:09:35,910
Et puis je vais changer ça.

106
00:09:35,940 --> 00:09:39,100
Tous les terrains de camping afin que vous puissiez voir la connexion.

107
00:09:39,420 --> 00:09:43,570
Donc nous faisons un terrain de camping pour trouver tous les terrains de camping dans la collection.

108
00:09:43,570 --> 00:09:45,230
Lorsque c'est fait exécuter ce code.

109
00:09:45,270 --> 00:09:46,110
Le rappel.

110
00:09:46,360 --> 00:09:48,450
En cas d'erreur, imprimez l'erreur.

111
00:09:48,580 --> 00:09:50,610
Sinon prendre tous les terrains de camping.

112
00:09:50,620 --> 00:09:56,460
Il vient de revenir et de les envoyer à travers le camping que E.J. A déposé.

113
00:09:56,460 --> 00:10:09,460
Maintenant, si nous sauvegardons et nous redémarrer le serveur et je vais me débarrasser de ce pour maintenant commenté autrement nous allons finir avec une autre colline de granit dans notre base de données.

114
00:10:09,450 --> 00:10:19,360
Alors maintenant, nous allons démarrer le serveur et rafraîchir la page, nous ne voyons que deux terrains de camping qui est exactement ce que nous voulons.

115
00:10:19,460 --> 00:10:25,520
Ces deux sont à la fois dans la base de données et nous ne nous occupons plus de ce réseau de terrains de camping qui est codé en dur.

116
00:10:25,520 --> 00:10:28,100
Ceux-ci seront toujours dans la base de données jusqu'à ce que nous les supprimions.

117
00:10:28,130 --> 00:10:33,230
Mais au moins si le serveur redémarre ou nous avons des problèmes là-bas, ils persistent.

118
00:10:33,230 --> 00:10:38,150
Donc, maintenant, il est axé sur l'obtention de ce à travailler afin que lorsque l'utilisateur ajoute un nouveau terrain de camping, il fonctionne.

119
00:10:38,150 --> 00:10:39,970
Et en ce moment, nous avons un petit problème.

120
00:10:40,040 --> 00:10:44,380
Si je tape juste jibberish ici et cliquez sur envoyer, je reçois une erreur.

121
00:10:44,570 --> 00:10:55,250
Le terrain de camping n'est pas défini et il me dit que c'est effectivement en fait la ligne 54 qui est ici où nous poussons le nouveau terrain de camping dans les terrains de camping.

122
00:10:55,460 --> 00:10:58,610
Mais ce plateau de camping est indéfini parce que nous l'avons supprimé.

123
00:10:58,610 --> 00:11:03,410
C'était un quai et nous nous en sommes débarrassés pour que cela fonctionne comme nous le voulons.

124
00:11:03,710 --> 00:11:05,480
Nous n'avons plus besoin de cette ligne.

125
00:11:05,820 --> 00:11:15,190
Et plutôt ce que nous voulons faire est de créer un nouveau terrain de camping et d'enregistrer à la base de données.

126
00:11:15,620 --> 00:11:24,510
Donc, cela restera le même où nous avons besoin de saisir le nom et l'image et cela restera le même ainsi où nous faisons cet objet.

127
00:11:24,560 --> 00:11:48,620
Et puis ce que nous pouvons faire, c'est simplement enregistrer cela à la base de données et nous pouvons soit le créer avec le terrain de camping qui créent et puis le premier argument, il ya la nouvelle chose que nous voulons créer que nous avons déjà commodément stocké dans un objet appelé nouveau terrain de camping ainsi Nous pouvons passer que dans et puis nous avons besoin de la fonction de rappel comme ça.

128
00:11:49,280 --> 00:12:07,640
Et n'oubliez pas nos deux arguments d'erreur et nous allons appeler ce nouvellement créé juste comme ça et nous allons faire notre si il ya une erreur et s'il ya une erreur si il ya un problème avec les données de formulaire que l'utilisateur entre alors nous aurions à Réfléchir à ce que nous voulons réellement arriver.

129
00:12:07,790 --> 00:12:18,700
Et finalement, ce que nous allons faire est de renvoyer l'utilisateur à nouveau au formulaire et de leur montrer un message qui dit quelque chose comme photo Caffey vide ou nom Campi vierge ou le nom de Campeon numéro ou ce qu'il est.

130
00:12:18,710 --> 00:12:20,250
Mais nous pouvons leur montrer un message.

131
00:12:20,300 --> 00:12:36,350
Pour l'instant, nous sommes coller avec notre journal alt alt essayé et vrai de l'erreur et puis Sinon, si cela a fonctionné, bien que nous devons faire est de retourner à des terrains de camping comme ça.

132
00:12:37,250 --> 00:12:39,500
Rediriger les campements.

133
00:12:39,540 --> 00:12:40,560
Voilà.

134
00:12:41,030 --> 00:12:54,060
Et puis qui va exécuter cette route à nouveau ici où vous trouverez tous les terrains de camping, y compris la nouvelle marque qui vient d'être ajoutée et puis il nous montrera ce modèle à nouveau.

135
00:12:54,080 --> 00:12:55,290
Alors testons-le.

136
00:12:55,370 --> 00:13:04,800
Je vais redémarrer le serveur et je vais aussi prendre une image à utiliser et je vais utiliser celui-ci ici.

137
00:13:04,910 --> 00:13:13,490
Copier que vous Aro alors je vais ouvrir l'application ici et rafraîchir OK et puis nous allons essayer d'ajouter un nouveau terrain de camping.

138
00:13:13,820 --> 00:13:22,440
Et celui-ci sera appelé lieu de repos de Cloud qui, dans hit submit et il semble que cela a fonctionné.

139
00:13:22,510 --> 00:13:23,370
Vous retournez ici.

140
00:13:23,390 --> 00:13:24,990
Nous n'obtenons pas d'erreurs.

141
00:13:25,340 --> 00:13:33,560
Et si nous rafraîchissons la page, il apparaît encore et si nous redémarrer le serveur, c'est le test vrai.

142
00:13:33,890 --> 00:13:34,820
Il est toujours là.

143
00:13:35,060 --> 00:13:35,330
D'ACCORD.

144
00:13:35,330 --> 00:13:38,210
Nous avons donc introduit la persistance des données dans nos terrains de camping.

145
00:13:38,210 --> 00:13:42,310
Le serveur peut arrêter cette puissance peut sortir quelle calamité peut se produire.

146
00:13:42,470 --> 00:13:44,930
Et nos données vont persister.

147
00:13:45,650 --> 00:13:50,160
Permettez-moi de revenir à Cloud 9 et je vais faire un bref résumé de ce que nous avons fait.

148
00:13:50,390 --> 00:13:52,480
Nous avons donc ajouté la mangouste ici.

149
00:13:52,910 --> 00:14:09,590
Nous nous sommes connectés à une base de données de camp de yelp qui n'existait pas au moment où nous avons commencé à courir ce code mais chaque fois qu'il utilisait la base de campement initialement créée et puis nous avons mis en place le schéma de terrain de camping qui a maintenant un nom et une image et c'est tout.

150
00:14:09,590 --> 00:14:11,480
Mais si nous voulons ajouter plus de choses.

151
00:14:11,480 --> 00:14:13,160
C'est très facile et flexible.

152
00:14:13,430 --> 00:14:30,530
Et puis cette ligne infâme où nous compilons le schéma dans un modèle où nous prenons ce modèle pour ce qu'un terrain de camping devrait ressembler et nous le transformons en un code que nous pouvons utiliser qui a un tas de méthodes, y compris trouver Ce qui est important.

153
00:14:30,530 --> 00:14:37,340
Nous l'utilisons à l'intérieur de notre terrain de camping pour obtenir où nous récupérons tous les terrains de camping et de les montrer tous.

154
00:14:38,270 --> 00:14:43,610
Et puis aussi créer grand ici où nous prenons des données de la forme.

155
00:14:43,910 --> 00:14:46,740
Et c'est un peu déroutant parce qu'il ya tellement de variables.

156
00:14:46,940 --> 00:14:49,760
Nous saisissons le nom et le corps du formulaire.

157
00:14:50,090 --> 00:14:53,240
Nous faisons un nouvel objet comme une étape distincte.

158
00:14:53,360 --> 00:14:56,330
Nous aurions pu prendre ce code et le coller ici.

159
00:14:56,570 --> 00:14:59,620
Mais j'aime faire une nouvelle très bien qui montre juste ce que nous faisons.

160
00:14:59,620 --> 00:15:11,190
Ainsi, le nouveau terrain de camping est un nom d'objet, une image provenant de la forme que nous créons avec cette fonction de rappel de couverture qui s'exécutera une fois que la création est effectuée, qu'elle soit réussie ou non.

161
00:15:11,300 --> 00:15:13,160
Et puis nous nous occupons de l'erreur ici.

162
00:15:13,160 --> 00:15:16,180
À l'heure actuelle, nous avons très très simple gestion des erreurs.

163
00:15:16,270 --> 00:15:27,620
Maintenant, vous n'êtes pas vraiment la manipulation C'est juste l'erreur de reconnaître où nous sommes juste l'impression de l'erreur et puis sinon, si cela fonctionne, nous revenons à la page des terrains de camping qui nous ramène ici.

164
00:15:27,650 --> 00:15:29,440
D'accord, nous avons maintenant la mangouste connectée.

165
00:15:29,450 --> 00:15:31,160
Nous avons mis en place notre base de données.

166
00:15:31,160 --> 00:15:41,860
Nous allons continuer à l'utiliser et bientôt nous allons voir un autre modèle et un autre schéma pour les utilisateurs lorsque nous avons l'authentification des utilisateurs pour les commentaires lorsque nous ajoutons des commentaires et quelques autres choses amusantes.
