Ich bin neu sowohl in Node.js als auch in MongoDB, aber ich habe es geschafft, einige Teile aus SO und der Dokumentation für MongoDB zusammenzustellen.
Die MongoDB-Dokumentation gibt das Beispiel:
// Abrufen
var MongoClient = require('mongodb').MongoClient;
// Mit der Datenbank verbinden
MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) {
if(!err) {
console.log("Wir sind verbunden");
}
});
Das sieht gut aus, wenn ich die DB nur in einer Funktion an einem Ort verwenden muss. Die Recherche in SO hat gezeigt, dass ich nicht jedes Mal eine neue Verbindung öffnen sollte, sondern stattdessen einen Pool verwenden und das Datenbankobjekt wiederverwenden sollte, das ich das erste Mal bekomme. Diese Antwort ist auf SO reichlich vorhanden, aber ich bin mir nicht sicher, wie ich überhaupt das DB-Objekt bekomme und wie ich es wiederverwenden kann.
Angenommen, ich habe den oben stehenden Node.js-Code in meiner App.js und dann habe ich verschiedene Routen, die verschiedene Operationen in der Datenbank ausführen müssen, wie:
app.post('/employee', function(req, res){
// req.name in die Datenbank eintragen
});
app.post('/car', function(req, res){
// req.car in die Datenbank eintragen
});
Wie könnte ich diese beiden Snippets zu etwas Nützlichem zusammenführen?
Ich habe eine ähnliche Frage in Node.js MongoDB-Referenz wiederverwenden gefunden, aber anscheinend sollte ich laut diesem ( http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html ) MongoClient anstelle von db() verwenden. Und ich bin mir nicht sicher, ob es mein Problem löst...