‫Kursleiter: Hallo und willkommen zurück.
‫Jetzt ist es also endlich an der Zeit, die von uns
‫erstellte MongoDB-Datenbank mit unserer Express-Anwendung zu verbinden.
‫Der erste Schritt dabei besteht
‫darin, unsere Verbindungszeichenfolge tatsächlich von Atlas zu beziehen.
‫Genau wie wir es zuvor getan haben, als wir die
‫Datenbank mit Compass und der Mongo Shell
‫verbunden haben, müssen wir unsere
‫Verbindungszeichenfolge abrufen, um die Anwendung mit dieser gehosteten Datenbank zu verbinden.
‫Falls Sie die gehostete Datenbank von Atlas nicht
‫verwenden, zeige ich Ihnen etwas
‫später in diesem Video auch, wie Sie
‫Ihre lokale Datenbank mit der Anwendung verbinden.
‫Wie auch immer, klicken Sie einfach hier auf Connect Your Application
‫und dann ist dies hier unsere Verbindungszeichenfolge.
‫Stellen Sie nur sicher, dass Sie Knoten auswählen. js hier tatsächlich, weil
‫sich die Zeichenfolge basierend darauf ändern könnte.
‫Jetzt brauchen wir auch noch die Version.
‫Und natürlich ist es später als drei.
‫Also, lassen Sie uns jetzt unsere Verbindungszeichenfolge kopieren und
‫dann wieder in unserer Anwendung erstellen
‫wir sie als Umgebungsvariable hier
‫in unserer Konfigurationsdatei.
‫Ich habe also bereits DATABASE_PASSWORD.
‫Lassen Sie uns jetzt DATABASE erstellen.
‫Und dann legen Sie unsere Schnur hier ein.
‫Nun zwei Dinge zu dieser Verbindungszeichenfolge.
‫Zuerst müssen wir hier an dieser Stelle unser Passwort eingeben.
‫Jetzt könnten wir das Passwort von hier kopieren und dann hier
‫einfügen, aber ich ziehe es vor, es
‫in einer separaten Variablen zu belassen und es
‫dann im Code zu ersetzen.
‫Ich werde dieses Passwort hier einfach in
‫ein Großbuchstaben-Passwort ändern.
‫Also, PASSWORD, um es ein bisschen sichtbarer zu machen.
‫Zweitens ist dies hier tatsächlich unser Host, also
‫im Grunde der Ort, an dem die Datenbank gehostet
‫wird und dann /test.
‫Dieser Test hier ist der Name der Datenbank, zu der
‫wir eine Verbindung herstellen möchten.
‫Und in unserem Fall haben wir die natours-Datenbank bereits erstellt.
‫Lassen Sie uns das hier in Compass überprüfen.
‫Und wenn wir hier zu
‫SAMMLUNGEN gehen, dann sehen wir hier, dass wir bereits unsere natours-Datenbank haben.
‫Das haben wir am Ende des letzten Abschnitts getan.
‫Du erinnerst dich?
‫Daher ist es sehr wichtig, dass
‫wir hier in dieser Verbindungszeichenfolge diesen Test durch den
‫Namen unserer Datenbank ersetzen.
‫Natours, okay?
‫Also, ganz wichtig hier, vergiss nicht,
‫das hier zu setzen, sonst wird es
‫nicht funktionieren.
‫Falls Sie nun die lokale Datenbank verwenden,
‫wie ich gerade erwähnt
‫habe, ist diese Verbindungszeichenfolge viel einfacher.
‫Lassen Sie
‫uns also auch für diese eine Variable erstellen, DATABASE_LOCAL.
‫Aber wenn Sie diese Datenbankzeichenfolge hier verwenden, brauchen Sie sich um
‫diesen Teil keine Sorgen zu machen.
‫Ich mache dies nur
‫für den Fall, dass Sie das lokale verwenden.
‫Und so ist es in diesem Fall ganz einfach.
‫Es ist nur Mongodb und das hier ist eine Art Protokoll.
‫Anstelle von http verwendet Mongo diese wie mongodb und
‫Protokoll oder so.
‫Dann localhost und dann der Port,
‫über den wir bereits ein
‫paar Mal gesprochen haben und es ist 27017, erinnerst du dich daran?
‫Und dann müssen wir wie
‫zuvor auch den Namen der Datenbank angeben, der
‫natours sein sollte.
‫Damit dies funktioniert, müssen
‫Sie natürlich Ihren MongoDB-Server so
‫halten, dass der Mongo D-Prozess jederzeit ausgeführt wird.
‫Also auf das Terminal umschalten.
‫Also, diesen lokalen Prozess hier ist der, den ich meine.
‫Schließen Sie diesen Vorgang, also dieses Terminalfenster, niemals, wenn Sie
‫mit Ihrer lokalen Datenbank arbeiten.
‫Sonst wird es also nicht funktionieren.
‫Und das war's für die Konfiguration.
‫Als nächstes müssen wir einen MongoDB-Treiber installieren,
‫also im Grunde eine Software, die es unserem Node-Code
‫ermöglicht, auf eine MongoDB-Datenbank zuzugreifen und mit ihr zu interagieren.
‫Und es gibt ein paar verschiedene MongoDB-Treiber,
‫aber wir
‫werden den, den ich als
‫den beliebtesten bezeichnen würde, Mongoose verwenden, der
‫dem nativeren MongoDB-Treiber einige Funktionen hinzufügt.
‫Aber keine Sorge, in der
‫nächsten Vorlesung erfahren Sie alles über Mungo und
‫warum wir es verwenden.
‫Lassen Sie uns jetzt einfach weitermachen und es installieren.
‫Also, Mungo, und die
‫Version, die ich verwenden werde, ist
‫Version fünf. Bitte installieren Sie auch Version fünf, damit
‫wir mit unserem Code hier auf derselben Seite sind.
‫Wenn Sie sich also dieses Video
‫ansehen, ist Mongoose sechs oder vielleicht sogar sieben
‫bereits da draußen, und dann
‫hat sich möglicherweise
‫etwas geändert und Ihr Code funktioniert möglicherweise nicht mehr genau so.
‫Also installiere bitte einfach Version fünf, denn
‫das ist derzeit eine ziemlich stabile
‫Version und ich glaube nicht,
‫dass sie in Zukunft viele wichtige Funktionen hinzufügen
‫werden.
‫Also in unserem Paket. json, es sollte jetzt hier sein.
‫Also, 5. 5. 2, deiner ist wahrscheinlich
‫etwas später, aber das sollte kein Problem sein.
‫Gehen wir jetzt zum Server. js hier, was, erinnern
‫Sie sich, eine Art Datei ist, in der
‫wir die gesamte Einrichtung unserer Anwendung vornehmen.
‫Zum Beispiel die
‫Umgebungsvariablen oder die Importe oder die Express-Anwendung.
‫Und wir starten auch den Server hier unten.
‫Dies ist also auch
‫die Datei, in der wir MongoDB konfigurieren.
‫Beginnen wir also damit, dass wir hier unser Mungo-Paket anfordern.
‫Und so haben wir jetzt Zugriff auf die
‫Variable mongoose und rufen dort einfach die Methode connect auf.
‫In diese Verbindungsmethode müssen
‫wir natürlich unsere Datenbankverbindungszeichenfolge übergeben.
‫Aber denken Sie daran, dass wir dort immer noch das Passwort haben.
‫Also, im Grunde dieser Passwort-Platzhalter hier.
‫Bevor wir den String übergeben, müssen
‫wir ihn also tatsächlich ersetzen.
‫Ersetzen Sie es also durch das echte Passwort, das wir hier haben.
‫Also, lass uns das schnell tun.
‫Und ich nenne diese Variable einfach DB für die Datenbank.
‫Kommen wir also zu unserem Prozess. env. DATENBANK.
‫Das ist natürlich unsere Variable, in der der
‫String hier gespeichert wird.
‫Also holen wir uns das und ersetzen es dann.
‫Und wir wollen PASSWORD ersetzen.
‫Dies hier stammt aus dem HTML-Close-Tag-Paket, das ich
‫in meinem VS-Code habe.
‫Also, verarbeiten. env. DATABASE_PASSWORD.
‫Sparen Sie.
‫Und, okay, das macht also Sinn.
‫Wir ersetzen also einfach
‫diese Platzhalterzeichenfolge durch unser echtes Passwort in dieser Verbindungszeichenfolge.
‫Und so können wir diese Variable jetzt in
‫unseren Mungos verwenden. verbinden().
‫Hier ist das erste Argument
‫also tatsächlich diese Verbindungszeichenfolge, also DB.
‫Und zweitens übergeben wir ein Objekt mit
‫einigen Optionen und dies sind nur einige Optionen,
‫die wir angeben müssen, um mit einigen veralteten Warnungen umzugehen.
‫Machen Sie sich also nicht zu viele Sorgen um diese.
‫Verwenden Sie also NewUrlParser und setzen Sie es auf true.
‫Dann müssen wir useCreateIndex verwenden, ebenfalls auf
‫true gesetzt.
‫Verwenden Sie dann FindAndModify und setzen Sie
‫es auf false.
‫Auch hier sind dies nur einige Optionen, um
‫mit einigen veralteten Warnungen umzugehen.
‫Wenn Sie also Ihre
‫eigenen Anwendungen erstellen, verwenden Sie einfach dasselbe.
‫Nun, diese Connect-Methode hier wird ein
‫Promise zurückgeben, und lassen Sie uns dieses Promise mit then() verarbeiten.
‫Und dieses Versprechen hier erhält tatsächlich
‫Zugriff auf ein Verbindungsobjekt.
‫Also, nennen wir es hier einfach con für die Verbindung.
‫Im Grunde wird
‫diese Verbindung also der aufgelöste Wert des Versprechens sein.
‫Um Ihnen zu zeigen, dass wir tatsächlich verbunden
‫sind, möchte ich dieses Objekt einfach in der Konsole protokollieren.
‫Also, Konsole. log-Verbindung und eigentlich
‫möchte ich dort die Verbindungseigenschaft sehen.
‫Und wir können auch
‫so etwas wie eine erfolgreiche DB-Verbindung an der Konsole protokollieren.
‫Sparen Sie hier.
‫Und dann werden diese Warnungen natürlich wegen unseres
‫ESLint hier angezeigt, aber machen Sie sich darüber keine Sorgen.
‫So haben wir es konfiguriert.
‫Lassen
‫Sie uns nun diese Anwendung ausführen.
‫Lassen Sie mich jetzt daran denken, welche Art von Skripten wir haben.
‫Wir haben also start:dev und start:prod.
‫Da unser Skript hier nicht nur start
‫heißt, was
‫eine Art Standard ist, müssen wir immer npm run
‫start:dev eingeben, anstatt nur npm start ohne run zu schreiben.
‫Lassen Sie mich also fortfahren
‫und den Namen hier wieder ändern, um zu beginnen.
‫Und dann haben wir den Produktionsstart.
‫Also, npm start.
‫Die App läuft jetzt.
‫Und tatsächlich war unsere Datenbankverbindung erfolgreich.
‫So großartig.
‫Und jetzt haben wir hier unser Verbindungsobjekt und
‫wie Sie sehen, ist hier eine Menge
‫Zeug drin und wir können unseren Benutzernamen hier sehen,
‫Host, natürlich das Passwort.
‫Und dieses Zeug hier spielt natürlich keine Rolle.
‫Ich wollte es nur hier
‫loggen, damit wir sehen, dass unsere Verbindung tatsächlich erfolgreich war.
‫Also, lass uns das loswerden.
‫Und all das können wir hier auch wirklich loswerden.
‫Das ist hier also nur ein Einzeiler.
‫Oh ja, fehlt nur diese Klammer.
‫Nun, hier sagt es mir, dass wir diese Variable deklariert, aber nie
‫verwendet haben, also lasst uns sie in der Tat loswerden.
‫Lassen Sie mich Ihnen
‫nun als letzten Schritt zeigen, wie wir
‫auch wieder eine Verbindung zur lokalen
‫Datenbank herstellen können, falls Sie diese verwenden.
‫Also, lass uns diese Zeile einfach duplizieren und auskommentieren.
‫Dies ist also die gehostete
‫Datenbankversion und hier müssten wir nur die lokale Version eingeben.
‫Das ist also DATABASE_LOCAL.
‫Lassen Sie es uns sparen.
‫Und mit diesem sind wir auch erfolgreich verbunden.
‫Also, so würdest du es in diesem Fall machen.
‫Aber wie gesagt, in
‫diesem Kurs werden wir tatsächlich den gehosteten
‫verwenden, also den, den ich hier behalte.
‫Eigentlich lösche ich diesen hier.
‫Wir brauchen es nicht mehr.
‫Nun kann es natürlich
‫auch zu Problemen bei der Verbindung zur Datenbank kommen.
‫Zum Beispiel könnte der Host ausgefallen
‫sein oder wir könnten einen Fehler in unserer Verbindungszeichenfolge
‫haben und in diesem Fall sollten wir diesen Fehler abfangen.
‫Aber wir werden die
‫Fehlerbehandlung etwas später im Kurs
‫verlassen und deshalb habe ich hier vorerst keine Fangmethode.
‫Nur die Dann-Methode
‫hier, vorausgesetzt, alles funktioniert gut.
‫Und jetzt möchte ich endlich
‫die Sammlung,
‫die wir bereits in unserer
‫Datenbank erstellt haben, löschen, damit unser Mongoose-Treiber das
‫in keiner Weise stört, damit es dort kein Problem gibt.
‫Kommen wir also zurück zu Atlas.
‫Schlagen Sie auf unsere KOLLEKTIONEN.
‫Und dann löschen Sie einfach die Sammlung von hier.
‫Und jetzt müssen wir hier den Namen der Sammlung
‫eingeben, damit wir hier keinen Fehler machen.
‫Also, lass dich fallen und alles klar.
‫Also, jetzt haben wir hier eine
‫leere Datenbank, die bereit ist, mit unseren Daten zu beginnen, die gleich
‫in den nächsten Videos beginnen.