Ich habe eine Web-App in Entwicklung. Ich fand CW Buechler's tutorial darüber, wie man ein einfaches sehr nützlich macht, aber ein paar Niggling-Sorgen, die ich gerne wissen würde, ob sie echte Probleme sind oder Dinge, die ich ignorieren kann.Was ist eine effiziente, korrekte Art der Verwendung von Mönch/Mungo in Express-Middleware?
Die Art, wie ich meine Routen mit meiner Datenbank verbinde, stammt direkt aus den Tutorials.
In App.js instanziiert dieser Code die Datenbank und fügt jedem req-Objekt, das durch die Middleware fließt, einen Verweis hinzu.
// wire up the database
var mongo = require('mongodb');
var db = require('monk')('localhost:27017/StarChamber');
----------8<-------
// Make our db accessible to our router
app.use(function(req,res,next){
req.db = db;
next();
});
Und in der Middleware es so gewöhnen:
app.get('/', function (req, res) {
var db = req.db;
var collection = db.get('myCollection');
// do stuff to produce results
res.json (results);
});
Also, meine nagenden Sorgen:
- die db zu den Routen Vorbei an den erf Befestigung ist ziemlich praktisch, aber wirkt sich das auf die Leistung aus? Wäre es besser, einen Verweis darauf in meiner Router-Datei zu haben, die ich einfach benutzen könnte? Was ist der Code dafür?
- Ist es eine gute Übung, die Sammlung zu löschen, nachdem sie benutzt wurde? Das Tutorium tut dies nicht, aber ein
collection.drop()
Aufruf vor dem Verlassen des Routen-Handlers sieht vorteilhaft aus, sonst denke ich, dass ich einfach viele offene Verbindungen mit der db aufbauen werde.
Danke wie immer!
vielen Dank - nur die Informationen, die ich suchte. – VorpalSword