


Detaillierte Erläuterung der Methode zum Teilen von Datenbankverbindungen zwischen Node.js-Modulen (grafisches Tutorial)
Wir können ein einheitliches Datenbankverbindungsmodul für die gemeinsame Nutzung zwischen Modulen in der lokalen Node-Umgebung schreiben. Als Nächstes erklären wir ausführlich die Methode zur gemeinsamen Nutzung von Datenbankverbindungen zwischen Node.js-Modulen.
Dieser Titel selbst ist ein Vorschlag, da jedes Modul in einer Node.js-Anwendung standardmäßig dieselbe Datenbankverbindung nutzt. Aber wenn die Haltung falsch ist, kann es hässlich aussehen oder sogar schief gehen.
Sie können diesen Teil ignorieren und direkt zur Sache kommen.
HintergrundKürzlich beschäftige ich mich mit der Gestaltung professioneller Kurse, der Titel lautet „System zur Verwaltung von Flugticketreservierungen“. Die Anforderung ist relativ einfach, daher habe ich versucht, Node.js zu verwenden, das ich kürzlich gelernt habe, um sie zu erfüllen. Ich habe ursprünglich recherchiert, welches Node.js-Framework besser geeignet wäre. Nachdem ich mir einige Frameworks angesehen hatte, wurde mir klar, dass dies übertrieben war. Wenn ich keine Zeit hätte, nach Dokumenten und Informationen zu suchen, könnte ich genauso gut damit beginnen, es zu schreiben . Nachdem ich den Code fertig geschrieben habe, werde ich ihn auf Github veröffentlichen. Jeder kann mich gerne kritisieren und korrigieren.
Was die Datenbank betrifft, dachte ich, dass ich mit JSON vertraut bin und es mag (geben Sie es einfach zu, wenn Sie SQL nicht gut gelernt haben -_-#), also habe ich mich für MongoDB entschieden. Node + Mongo ist in den letzten Jahren eine immer beliebter werdende Backend-Kombination und es gibt im Internet zahlreiche Informationen zur gemeinsamen Nutzung. Um jedoch Zeit zu sparen (das Kursdesign dauert nur mehr als eine Woche) und mich mehr auf das System und die Logik zu konzentrieren, habe ich Mongoose verwendet, eine Node.js-Erweiterung, die speziell für die MongoDB-Datenmodellierung verwendet wird, um die für den Betrieb erforderliche Zeit erheblich zu reduzieren Der Datenbankcode.
Auf den Punkt gebrachtIch habe zwei Datenmodelle (Model) erstellt, eines ist der Benutzer (User) und das andere ist der Flug (Flight), die in user.js und Flight gekapselt sind .js bzw. innerhalb eines Moduls. Das Modell ist speziell für die Interaktion mit der Datenbank verantwortlich. Sowohl das Benutzer- als auch das Flugmodul müssen eine Verbindung zur Datenbank herstellen. Am Anfang sah mein Code so aus:
// ----- user.js ----- // require mongoose.js 引用mongoose.js var M = require('mongoose'); // connect to database 连接数据库 M.connect('mongodb://localhost/test'); // ... some other code ... // ----- flight.js ----- // require mongoose.js 引用mongoose.js var M = require('mongoose'); // connect to database 连接数据库 M.connect('mongodb://localhost/test'); // ... some other code ... // ----- models.js ----- var user = require('./user'), flight = require('./flight'); // ----- index.js ----- var Models = require('./models');
Ganz zu schweigen davon, dass dies nicht der Fall ist Überhaupt trocken, diese Methode selbst ist einfach falsch. Wenn ich index.js ausführe, erhalte ich die folgende Fehlermeldung.
> node index.js > Connection error: { [Error: Trying to open unclosed connection.] state: 2 }
Der Fehler ist: Es wurde versucht, eine Verbindung zu öffnen, die nicht geschlossen wurde.
Wir sollten also einmal an einem Ort eine Verbindung zur Datenbank herstellen und dann andere Module, die eine Verbindung zur Datenbank herstellen müssen, über dieses Modul mit der Datenbank interagieren. Es ist wie eine Steckdosenleiste, die ohne zu zögern schreit: „Es gibt nur eine Steckdose an der Wand, schnapp sie dir nicht! Lass es mich machen! Du... Das ist es!“
Konkreter Plan Wir packen die Aktion zum Herstellen einer Verbindung zur Datenbank in ein Modul ein und stellen die Verbindung anderen Modulen in der gesamten Anwendung zur Verfügung. Anschließend können andere Module, die eine Verbindung zur Datenbank herstellen müssen, auf diese Verbindung verweisen.
// ----- database.js ----- var M = require('mongoose'); M.connect('mongodb://localhost/test'); // reference to the database connection 为这个连接创建一个引用 var db = M.connection; // expose to modules that require database.js 把这个引用暴露给引用 database 模块的其他模块 module.exports = db; // ----- user.js ----- flight.js 类似 ----- // ... some other code ... // 我们会在 models.js 中,把数据库连接的引用作为参数传进来 module.exports = function( db ){ if( db ){ // ... do things with the connection ... 如果连接了数据库,就可以执行数据库相关的操作了 } } // ----- models.js ----- // require database module, retrieve the reference to database connection 引用 databse 模块,获取数据库连接的引用 var db = require('./database'); // 把数据库连接的引用传入需要连接数据库的模块,任务完成! var user = require('./user')( db ), flight = require('./flight')( db );
Dies ist eine Möglichkeit für mehrere Module einer Node.js-Anwendung, eine Datenbankverbindung gemeinsam zu nutzen. Ich habe das auf StackOverflow gesehen.
Das Obige habe ich für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.
Verwandte Artikel:
Detaillierte Erläuterung verschiedener Ausleihmethoden in JavaScript (Bild- und Text-Tutorial)
Verwendung von JavaScript Implementieren Sie die String-Methode des Mustervergleichs
Javascript Diese ausführliche Erklärung (grafisches Tutorial)
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Methode zum Teilen von Datenbankverbindungen zwischen Node.js-Modulen (grafisches Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

JavaScript stammt aus dem Jahr 1995 und wurde von Brandon Ike erstellt und realisierte die Sprache in C. 1.C-Sprache bietet Programmierfunktionen auf hoher Leistung und Systemebene für JavaScript. 2. Die Speicherverwaltung und die Leistungsoptimierung von JavaScript basieren auf C -Sprache. 3. Die plattformübergreifende Funktion der C-Sprache hilft JavaScript, auf verschiedenen Betriebssystemen effizient zu laufen.

JavaScript wird in Browsern und Node.js -Umgebungen ausgeführt und stützt sich auf die JavaScript -Engine, um Code zu analysieren und auszuführen. 1) abstrakter Syntaxbaum (AST) in der Parsenstufe erzeugen; 2) AST in die Kompilierungsphase in Bytecode oder Maschinencode umwandeln; 3) Führen Sie den kompilierten Code in der Ausführungsstufe aus.

Zu den zukünftigen Trends von Python und JavaScript gehören: 1. Python wird seine Position in den Bereichen wissenschaftlicher Computer und KI konsolidieren. JavaScript wird die Entwicklung der Web-Technologie fördern. Beide werden die Anwendungsszenarien in ihren jeweiligen Bereichen weiter erweitern und mehr Durchbrüche in der Leistung erzielen.

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

Ja, der Motorkern von JavaScript ist in C. 1) Die C -Sprache bietet eine effiziente Leistung und die zugrunde liegende Steuerung, die für die Entwicklung der JavaScript -Engine geeignet ist. 2) Die V8-Engine als Beispiel wird sein Kern in C geschrieben, wobei die Effizienz und objektorientierte Eigenschaften von C kombiniert werden.

JavaScript ist das Herzstück moderner Websites, da es die Interaktivität und Dynamik von Webseiten verbessert. 1) Es ermöglicht die Änderung von Inhalten, ohne die Seite zu aktualisieren, 2) Webseiten durch DOMAPI zu manipulieren, 3) Komplexe interaktive Effekte wie Animation und Drag & Drop, 4) die Leistung und Best Practices optimieren, um die Benutzererfahrung zu verbessern.

C und JavaScript erreichen die Interoperabilität durch WebAssembly. 1) C -Code wird in das WebAssembly -Modul zusammengestellt und in die JavaScript -Umgebung eingeführt, um die Rechenleistung zu verbessern. 2) In der Spieleentwicklung kümmert sich C über Physik -Engines und Grafikwiedergabe, und JavaScript ist für die Spiellogik und die Benutzeroberfläche verantwortlich.

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version
