Ich versuche, eine einzelne Verbindung zu meinem MongoDB herzustellen und die Antwort (Datenbank) zu speichern, die ich in einer globalen Variable zurückbekomme, damit ich sie in separater JS-Datei wiederverwenden kann (wie die separaten Dateien für meine Routen). Ich folge dieser Dokumentation als Beispiel: https://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html#mongoclient-connection-pooling.Node.js + MongoDB globale Variable und Gültigkeitsbereich
Erster Versuch: var mongodb = require ('mongodb'), MongoClient = mongodb.MongoClient, MongoURL = "my_mongodb_url: port/database_name", global.db;
Nach einigen Recherchen fand ich eine mögliche Lösung für das Problem: Erstellen Sie eine globale Variable in Knoten mit einem globalen Präfix. Aber es ist immer noch nicht funktioniert ...
Zweiter Versuch:
var mongodb = require('mongodb'),
MongoClient = mongodb.MongoClient,
MongoURL = "my_mongodb_url:port/database_name",
global.db;
MongoClient.connect(MongoURL, function(err, database) {
global.db = databse;
console.log(db); // shows stuff
}
console.log(global.db); // shows undefined
Der Code vor allem in der gleichen Datei gesetzt wird [app.js]. Ich denke, es hat mit dem Umfang von MongoClient zu tun. Aber ich bin mir nicht sicher. Gibt es eine Möglichkeit, dies zum Funktionieren zu bringen?
Ich sehe, das macht sehr viel Sinn! Ich arbeite tatsächlich mit verschiedenen Modulen, zum Beispiel einem Routenmodul, wo ich die Variable db verwenden werde. Ich werde in "export" lesen. Danke vielmals. :-) –