‫-: Lassen Sie uns jetzt ganz schnell
‫das Modell für unsere Buchungen erstellen, damit wir dann im
‫nächsten Video tatsächlich mit der Erstellung einiger echter Buchungen beginnen können.
‫Schließen wir
‫also einige dieser Dateien hier, auch diese Ordner.
‫Hier ist der Modelordner und damit das Buchungsmodell. js.
‫Und das wird natürlich sehr ähnlich zu dem sein,
‫was wir vorher schon gemacht haben, also werde
‫ich das ziemlich schnell machen.
‫Wir brauchen also wie immer Mungo und
‫erstellen unser Buchungsschema Mungo. Schema, und jetzt erinnern Sie
‫sich daran, wie wir zuvor gesagt haben,
‫dass wir hier bei den Buchungen
‫Absatzverweise verwenden werden, also im Grunde genommen einen Verweis auf die
‫Tour und auch auf den Benutzer, der die Tour gebucht hat.
‫Das ist also ganz einfach.
‫Das haben wir schon oft gemacht.
‫Also Mungo. Schema. ObjectId, richtig?
‫Und dann die Referenz, und diese
‫wird auf das Tourmodell verweisen.
‫Dann sagen wir auch,
‫diese sind erforderlich, Buchung muss zu einer Tour gehören.
‫Lassen Sie uns das
‫jetzt einfach greifen und dasselbe für einen Benutzer erstellen, okay?
‫Das ist, was wir gerade gesagt haben, dass
‫wir eine Referenz sowohl der Tour,
‫die gekauft wird, als auch des Benutzers, der den Kauf durchführt, aufbewahren werden.
‫Dann wollen wir auch wissen, zu
‫welchem Preis der Kauf tatsächlich stattgefunden hat, und
‫das liegt daran, dass sich der Preis in
‫Zukunft ändern kann und wir dann nicht mehr wissen, wie
‫viel ein bestimmter Benutzer für eine Tour bezahlt hat.
‫Und deshalb ist es wichtig, dies auch hier in
‫der Buchung zu haben, also wird dies eine Zahl
‫sein, und wir benötigen
‫dies auch, Buchung muss einen Preis haben.
‫Als nächstes erstellen wir auch unseren Zeitstempel createdAt, der ein
‫Datum ist,
‫und fügen dann einfach Standard hinzu,
‫damit wir nichts tun müssen.
‫Schließlich möchte ich auch eine kostenpflichtige Unterkunft erstellen,
‫und diese wird automatisch auf "true" gesetzt, jedoch nur
‫für den Fall, dass beispielsweise
‫ein Administrator eine Buchung außerhalb von
‫Stripe erstellen möchte.
‫Also zum Beispiel, wenn ein Kunde keine Kreditkarte besitzt
‫und direkt bezahlen möchte, wie in einem Geschäft mit Bargeld
‫oder so ähnlich.
‫Und in diesem Fall könnte ein Administrator dann
‫unsere Buchungs-API verwenden, um im Grunde manuell
‫eine Tour zu erstellen, die dann bezahlt oder noch nicht
‫bezahlt werden kann.
‫Also nur ein sehr kleines
‫Detail hier, bei dem Gedanken, und dachte, dass es
‫interessant sein könnte, das auch hier aufzunehmen.
‫Aber natürlich wird es standardmäßig wahr sein,
‫damit wir nichts tun müssen.
‫Nun endlich erstellen wir daraus ein Modell, also
‫Buchung ist gleich Mungo. model, und dann natürlich
‫unser bookingSchema und dann das
‫ganze exportieren,
‫ist gleich Booking.
‫Was wir jetzt auch
‫hier machen wollen, ist die Tour und den Benutzer automatisch zu
‫befüllen, wenn es eine Anfrage gibt, in Ordnung?
‫Denken Sie also daran, wie wir das früher
‫mit Abfrage-Middleware gemacht haben.
‫Also direkt auf dem Schema. pre, und dann
‫here oder wie üblich regulärer Ausdruck und was
‫auch immer mit find beginnt.
‫Also hier als nächstes
‫und dann das. füllen, und lassen Sie es uns tatsächlich
‫sowohl für den Benutzer
‫als auch für die Touren automatisch tun.
‫Und das ist in diesem
‫Fall für die Performance absolut kein Problem,
‫denn es wird nicht viele Anrufe zu den Buchungen geben, da
‫sie eigentlich nur Guides und Admins machen dürfen, oder?
‫Also im Grunde genommen, für einen Guide,
‫um zu überprüfen, ob ihre Touren tatsächlich gebucht wurden.
‫Das ist also einer der Anwendungsfälle,
‫die ich für diesen Teil der API sehe, okay?
‫Auch hier wird diese Abfrage nicht so oft vorkommen,
‫sodass wir all dies problemlos ohne
‫Probleme füllen können.
‫Befüllen wir also auch die Tour, aber
‫hier möchte ich eigentlich nur den Tournamen auswählen.
‫Sagen wir Pfad, Tour und wählen Sie nur den Namen aus, okay?
‫Nun haben wir hier einen Fehler, gut, also
‫sollte das natürlich Mungo sein, nicht Mondgans.
‫Also, ESLint hat uns hier noch einmal gerettet.
‫Oh, und eigentlich gibt es noch mehr.
‫Speichern Sie es noch einmal, und jetzt sind wir gut.
‫Das ist es also tatsächlich.
‫Dies ist unser Buchungsmodell,
‫das wir jetzt im nächsten Video verwenden können.