Ich habe vor Kurzem angefangen, das NestJs-Framework zu lernen. Der Lernaufwand ist viel höher als bei anderen Frameworks. Beim Erlernen des Node-Grundgerüsts Express und Koa. Datenbankoperationen wurden schon immer durch das Schreiben von SQL-Anweisungen implementiert. Schreiben Sie alles, was nötig ist. Dies erscheint sehr starr und unflexibel. Später erfuhr ich, dass NestJs eine OOP-orientierte Programmierung ist (NestJs kann TypeScript verwenden, das ebenfalls OOP-orientiert ist), und dann wurde mir klar, dass Datenbankoperationen in Form von Objekten ausgedrückt werden können. Jede Tabelle (Schema) in der Datenbank kann im Nest-Framework als Objekt betrachtet werden. Dies macht Datenbankoperationen sehr flexibel Beispiel: (Dies ist die Struktur einer beliebigen Tabelle) Es kann als Objekt in NestJs angezeigt werden Dadurch ist die Bearbeitung der einzelnen Tabellen in der Datenbank sehr einfach. Verwenden Sie Mungo gemäß der offiziellen Dokumentation Installieren Sie zunächst die erforderlichen Abhängigkeiten npm install --save @nestjs/mongoose mongoose Sie können einen Taobao-Spiegel hinzufügen: –registry=https://registry.npm.taobao.org Ich bin darin sehr gut geworden und es ist sehr bequem zu verwenden. Die Download-Geschwindigkeit wird viel schneller sein Nach Abschluss der Installation fügen wir die Konfiguration zu app.module.ts hinzu
Fügen Sie die entsprechende Konfiguration in den Importen hinzu:[] MongooseModule.forRoot('mongodb://localhost/test') //Folgendes ist der Speicherort von MongoDB (je nach Bedarf) Fügen Sie entsprechende Abhängigkeiten hinzu: import { Module } von '@nestjs/common'; importiere { MongooseModule } von '@nestjs/mongoose'; Nach dem Speichern können Sie es in der Konsole sehen Dann fügen Sie das Modell ein (Schema) Meins ist beispielsweise users/schemas/users.schema.ts importiere * als Mungo von 'Mungo' exportiere const UserSchema = neues mongoose.Schema( { id: Nummer, Name: Zeichenfolge, Einführung: String, Headurl: Zeichenfolge, Bigurl: Zeichenfolge, Benutzername: String, Passwort: String, }, { Sammlung: 'Musiker', Versionsschlüssel: false }, ) Dies entspricht der Tabellenstruktur in der obigen Abbildung (Sammlung: kann in MongoDB als Tabelle betrachtet werden.) importiere { Modul } von '@nestjs/common'; importiere { MongooseModule, getModelToken } von '@nestjs/mongoose'; importiere { UsersController } aus './users.controller'; importiere { UsersService } aus './services/users.service'; importiere { UserSchema } aus './schemas/users.schemas'; @Modul({ Importe: [ //Hier Konfiguration hinzufügen. Entsprechendes Importmodul (achten Sie auf die Klammerstruktur im Inneren, lassen Sie sich nicht davon abhalten. Ich bin hier lange hängen geblieben) MongooseModule.forFeature([ { Name: 'Benutzer', Schema: UserSchema } ]) ], Controller: [UsersController], Anbieter: BenutzerService, ], }) exportiere Klasse BenutzerModul {} Nach dieser Konfiguration. Wir können auf der Serviceseite tätig sein
Machen wir eine Suche zum Testen importiere { Model } von 'Mongoose'; importiere { Injectable } von '@nestjs/common'; importiere { InjectModel } von '@nestjs/mongoose'; importiere { Benutzer } von '../interface/users.interface'; importiere { IUserService } von '../interface/user-service.interface'; @Injizierbar() export Klasse UsersService implementiert IUserService { Konstruktor(@InjectModel('Benutzer') privates schreibgeschütztes Benutzermodell: Modell<Benutzer>) {} private statische Benutzer:Benutzer[] = [ ] async findAll():Versprechen<Benutzer[]>{ //Benutzerservice.Benutzer zurückgeben Rückgabe: warte auf dieses Benutzermodell.find({}). //(Hier testen wir, um alles zu finden) } }
@Controller('Benutzer') exportiere Klasse UsersController { Konstruktor (privater schreibgeschützter Benutzerdienst: Benutzerdienst) { } @Get('alles abrufen') // @UseGuards(AuthGuard('jwt')) async findAll():Promise<Benutzer[]> { zurückgeben, warte auf this.userservice.findAll() } } Wir öffnen eine Schnittstelle. Hier wird 3001 in main.ts angepasst. Ändern Sie es entsprechend Ihrer eigenen Situation und dann können wir darauf zugreifen Habe das Ergebnis Die Ausgabe ist abgeschlossen. Andere Vorgänge werden nach ähnlichen Schritten durchgeführt. Dies ist das Ende dieses Artikels über die Verwendung von Mongoose mit NestJs zum Betreiben von MongoDB. Weitere Informationen zum Betreiben von MongoDB mit NestJs finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung der Schlüsselwörter und reservierten Wörter in MySQL 5.7
>>: Eine kurze Diskussion über die vorläufige Praxis der Docker-Container-Verbindung
Vorschauversionen von Safari (Technology Preview ...
Inhaltsverzeichnis Vorwort Aktiver Rückzug Ausnah...
Lösung: Binden Sie das Klickereignis an die Audio...
MYSQL bietet offiziell eine Installer-Methode zum...
Als ich kürzlich an CSS-Schnittstellen arbeitete,...
Während des Front-End-Entwicklungsprozesses trat e...
Inhaltsverzeichnis 1. Lernen Sie, je nach Anforde...
Inhaltsverzeichnis Vorwort Hintergrunddatenspleiß...
Die Anzeige ohne Effektbild ist nur leeres Gerede...
Beim Ändern des Standarddatums-/Uhrzeitwerts über...
Über Semantik Die Semantik ist die Lehre von der ...
Nehmen wir ein Beispiel: Der Code ist sehr einfach...
Über den Unterschied zwischen Gitlab und Github m...
Confluence ist kostenpflichtig, kann aber für die...
1. Warum müssen wir Tabellen und Partitionen auft...