‫Instructeur : Bonjour et bienvenue.
‫Alors, il est enfin temps de connecter la base de données MongoDB
‫que nous avons créée avec notre application Express.
‫Et la première étape consiste
‫à obtenir notre chaîne de connexion auprès d'Atlas.
‫Ainsi, tout comme nous l'avons fait auparavant lorsque nous avons connecté
‫la base de données à Compass et à
‫Mongo Shell, nous devons obtenir notre
‫chaîne de connexion afin de connecter l'application à cette base de données hébergée.
‫Maintenant, si vous n'utilisez pas la base de données hébergée
‫sur Atlas, je vais également vous
‫montrer comment connecter votre base de données locale
‫à l'application un peu plus tard dans cette vidéo.
‫Quoi qu'il en soit, cliquez simplement ici sur Connect Your
‫Application et voici notre chaîne de connexion.
‫Assurez-vous simplement de sélectionner Node. js ici en fait parce
‫que la chaîne peut changer en fonction de cela.
‫Maintenant, nous avons également besoin de la version.
‫Et, bien sûr, il est plus tard que trois.
‫Et donc, allons de l'avant et copions notre chaîne de connexion, puis
‫de nouveau dans notre application, nous la créons
‫en tant que variable d'environnement ici dans
‫notre fichier de configuration.
‫Donc, j'ai déjà DATABASE_PASSWORD.
‫Créons maintenant la BASE DE DONNÉES.
‫Et puis, mettez notre ficelle ici.
‫Maintenant, deux choses à propos de cette chaîne de connexion.
‫Tout d'abord, ici, à cet endroit, nous devons saisir notre mot de passe.
‫Maintenant, nous pourrions aller de l'avant et copier le mot de passe
‫à partir d'ici, puis le coller ici, mais
‫je préfère le laisser dans une variable distincte, puis
‫le remplacer dans le code.
‫Je vais juste changer ce mot de passe ici en un
‫mot de passe en majuscule.
‫Donc, PASSWORD pour le rendre un peu plus visible.
‫Ensuite, deuxièmement, il s'agit en fait de notre
‫hôte, donc essentiellement l'endroit où la base de données
‫est hébergée, puis /test.
‫Maintenant, ce test ici est le nom de la base de données
‫à laquelle nous voulons nous connecter.
‫Et, dans notre cas, nous avons déjà créé la base de données natours.
‫Vérifions cela ici dans Compass.
‫Et, si nous allons ici à
‫COLLECTIONS, alors nous voyons qu'ici, nous avons déjà notre base de données natours.
‫Donc, nous l'avons fait à la fin de la dernière section.
‫Tu te souviens?
‫Et donc, il est très important qu'ici,
‫dans cette chaîne de connexion, nous remplacions ce test par le nom
‫de notre base de données.
‫Alors, natours, d'accord ?
‫Donc, très important ici, encore une
‫fois, n'oubliez pas de mettre ça ici, sinon, ça
‫ne marchera pas.
‫Maintenant, si vous utilisez la base de données locale
‫comme je viens de le
‫mentionner, cette chaîne de connexion est beaucoup plus simple.
‫Alors,
‫créons simplement une variable pour celle-ci également, DATABASE_LOCAL.
‫Mais, encore une fois, si vous utilisez cette chaîne de base de données ici,
‫vous n'avez pas à vous soucier de cette partie.
‫Je le fais juste
‫au cas où vous utiliseriez le local.
‫Et donc, dans ce cas, c'est assez simple.
‫C'est juste mongodb et c'est une sorte de protocole ici.
‫Ainsi, au lieu de http, Mongo les utilise comme mongodb et protocol ou
‫quelque chose du genre.
‫Ensuite, localhost puis le port, dont
‫nous avons déjà parlé
‫plusieurs fois et c'est 27017, vous vous en souvenez ?
‫Et puis, comme avant, nous devons
‫également spécifier le nom de la base de données,
‫qui devrait être natours.
‫Maintenant, pour que cela fonctionne,
‫bien sûr, vous devez conserver votre serveur
‫MongoDB afin que le processus Mongo D s'exécute à tout moment.
‫Donc, en le basculant vers le terminal.
‫Donc, ce processus local ici est celui que je veux dire.
‫Donc, ne fermez jamais ce processus, donc cette fenêtre de terminal, lorsque vous
‫travaillez avec votre base de données locale.
‫Donc, sinon, ça ne marchera pas.
‫Et c'est tout pour la configuration.
‫Ensuite, nous devons installer un pilote MongoDB,
‫donc essentiellement un logiciel qui permet à notre code
‫Node d'accéder et d'interagir avec une base de données MongoDB.
‫Et, il existe quelques pilotes MongoDB différents, mais
‫nous allons utiliser
‫celui qui, je dirais, est
‫le plus populaire, qui s'appelle Mongoose, qui ajoute
‫quelques fonctionnalités au pilote MongoDB plus natif.
‫Mais ne vous inquiétez pas,
‫dans la prochaine conférence, vous apprendrez tout sur Mongoose
‫et pourquoi nous l'utilisons.
‫Pour l'instant, allons-y et installons-le.
‫Donc, mangouste, et la version que
‫je vais utiliser est la version cinq et
‫donc s'il vous plaît allez-y et installez également la version cinq afin
‫que nous soyons sur la même page avec notre code ici.
‫Ainsi, au moment où vous regardez
‫cette vidéo, Mongoose six, ou même sept peut-être, est
‫peut-être déjà là et quelque
‫chose a peut-être changé
‫et votre code pourrait ne pas fonctionner exactement de la même manière.
‫Alors, s'il vous plaît, installez simplement la version cinq
‫car c'est en fait une version assez
‫stable à ce stade et je ne
‫pense pas qu'ils vont ajouter des fonctionnalités très importantes
‫à l'avenir.
‫Donc, dans notre paquet. json, il devrait maintenant être ici.
‫Donc, 5. 5. 2, le vôtre est probablement un peu
‫plus tard, mais cela ne devrait pas être un problème.
‫Passons maintenant au serveur. js ici, qui, rappelez-vous,
‫est une sorte de fichier dans lequel nous
‫effectuons toute la configuration de notre application.
‫Par exemple, les variables
‫d'environnement ou les importations ou l'application Express.
‫Et, nous démarrons également le serveur ici.
‫Et donc, c'est aussi
‫le fichier où nous allons configurer MongoDB.
‫Commençons donc par demander notre package mangouste ici.
‫Et donc, maintenant nous avons accès à la
‫variable mangouste et là-bas, nous appelons simplement la méthode connect.
‫Maintenant, dans cette méthode de connexion, nous devons, bien
‫sûr, transmettre notre chaîne de connexion à la base de données.
‫Mais, rappelez-vous que, là-dedans, nous avons toujours le mot de passe.
‫Donc, en gros, cet espace réservé pour le mot de passe ici.
‫Et donc, avant de passer la chaîne,
‫nous devons réellement la remplacer.
‫Alors, remplacez-le par le vrai mot de passe que nous avons ici.
‫Alors, faisons-le rapidement.
‫Et, je vais simplement appeler cette variable DB pour la base de données.
‫Et donc, voyons notre processus. env. BASE DE DONNÉES.
‫Donc, c'est, bien sûr, notre variable où la
‫chaîne ici est stockée.
‫Donc, nous obtenons cela et puis remplaçons.
‫Et, nous voulons remplacer PASSWORD.
‫Ceci provient du package de balises de fermeture HTML que
‫j'ai sur mon code VS.
‫Alors, procédez. env. DATABASE_PASSWORD.
‫Donnez-lui une sauvegarde.
‫Et, d'accord, donc ça a du sens.
‫Donc, nous remplaçons simplement cette chaîne d'espace
‫réservé par notre vrai mot de passe dans cette chaîne de connexion.
‫Et donc, maintenant nous pouvons utiliser cette variable
‫dans nos mongoos. relier().
‫Donc, ici, le premier argument est
‫en fait cette chaîne de connexion, donc DB.
‫Et puis, deuxièmement, nous passons un objet avec
‫quelques options et ce ne sont que quelques options
‫que nous devons spécifier afin de gérer certains avertissements de dépréciation.
‫Alors, ne vous inquiétez pas trop pour ceux-ci.
‫Donc, utilisezNewUrlParser, définissez-le sur true.
‫Ensuite, nous devons utiliser useCreateIndex, également défini
‫sur true.
‫Et puis, utilisezFindAndModify et définissez-le
‫sur false.
‫Donc, encore une fois, voici quelques options pour
‫gérer certains avertissements de dépréciation.
‫Et donc, lorsque vous créez vos
‫propres applications, continuez et utilisez exactement la même chose.
‫Maintenant, cette méthode de connexion ici va
‫retourner une promesse et gérons donc cette promesse en utilisant then().
‫Et, cette promesse ici a en fait accès
‫à un objet de connexion.
‫Appelons-le simplement con ici pour la connexion.
‫Donc, fondamentalement, cette
‫connexion sera la valeur résolue de la promesse.
‫Et donc, juste pour vous montrer que nous sommes
‫réellement connectés, je veux juste connecter cet objet à la console.
‫Alors consolez-vous. connectez-vous et en fait, je
‫veux voir la propriété des connexions là-bas.
‫Et, nous pouvons également nous
‫connecter à la console quelque chose comme une connexion DB réussie.
‫Faites une sauvegarde ici.
‫Et puis, bien sûr, il affiche ces avertissements ici à
‫cause de notre ESLint, mais ne vous inquiétez pas pour ça.
‫C'est juste la façon dont nous l'avons configuré.
‫Et donc,
‫allons-y maintenant et exécutons cette application.
‫Maintenant, permettez-moi de me rappeler quel type de scripts nous avons.
‫Donc, nous avons start:dev et start:prod.
‫Maintenant, puisque notre script ici ne s'appelle
‫pas simplement start,
‫ce qui est une sorte de standard, nous devons toujours taper
‫npm run start:dev au lieu d'écrire simplement npm start, sans run.
‫Et donc, laissez-moi aller
‫de l'avant et changer le nom ici pour commencer.
‫Et puis, nous avons commencé pour la production.
‫Alors, npm commence.
‫L'application est en cours d'exécution maintenant.
‫Et, en effet, notre connexion à la base de données a réussi.
‫Tellement bon.
‫Et maintenant, nous avons ici notre objet connections et, comme
‫vous le voyez, il y a beaucoup de choses
‫ici et nous pouvons voir notre nom d'utilisateur ici, l'hôte, le mot
‫de passe, bien sûr.
‫Et, ce truc ici n'a pas vraiment d'importance, bien sûr.
‫Je voulais juste l'enregistrer ici
‫juste pour que nous voyions que notre connexion a réellement réussi.
‫Et donc, débarrassons-nous de cela.
‫Et nous pouvons également nous débarrasser de tout cela ici.
‫Donc, ce n'est qu'une seule ligne ici.
‫Oh ouais, il manque juste cette parenthèse.
‫Maintenant, ici, ça me dit que nous avons déclaré cette variable, mais
‫que nous ne l'avons jamais utilisée, alors débarrassons-nous effectivement d'elle.
‫Maintenant, comme dernière étape, permettez-moi
‫de vous montrer comment nous pourrions également nous
‫connecter à la base de données locale,
‫encore une fois, au cas où vous l'utiliseriez.
‫Alors, dupliquons simplement cette ligne, commentez-la.
‫Il s'agit donc de la version de la
‫base de données hébergée et ici, nous n'aurions qu'à mettre la version locale.
‫Donc, c'est DATABASE_LOCAL.
‫Faisons une sauvegarde.
‫Et, nous sommes également connectés avec succès à celui-là.
‫Donc, c'est juste comme ça que vous le feriez dans ce cas.
‫Mais, comme je l'ai dit,
‫dans ce cours, nous utiliserons en fait celui
‫hébergé, c'est donc celui que je garde ici.
‫En fait, je supprime celui-ci.
‫Nous n'en avons plus besoin.
‫Maintenant, bien sûr, il peut
‫également y avoir des problèmes de connexion à la base de données.
‫Par exemple, l'hôte peut être en panne
‫ou nous pouvons avoir une erreur dans notre chaîne de
‫connexion et, dans ce cas, nous devrions détecter cette erreur.
‫Mais, nous laisserons la gestion
‫des erreurs un peu plus tard dans
‫le cours et donc pour l'instant, je n'ai pas de méthode catch ici.
‫Juste la méthode alors
‫ici, en supposant que tout fonctionne bien.
‫Et, maintenant, enfin, je veux vraiment
‫aller de l'avant et
‫supprimer la collection que nous avons déjà créée
‫dans notre base de données juste pour que notre pilote
‫Mongoose n'interfère en aucune façon avec cela afin qu'il n'y ait aucun problème là-bas.
‫Et donc, revenons à Atlas ici.
‫Coup sur nos COLLECTIONS.
‫Et puis, supprimez simplement la collection d'ici.
‫Et maintenant, nous devons mettre ici le nom de la
‫collection juste pour ne pas faire d'erreur ici.
‫Alors, laissez tomber et, d'accord.
‫Nous avons donc maintenant une base
‫de données vide ici, prête à commencer à remplir avec nos
‫données dès les prochaines vidéos.