2
我正在使用node-mongodb-native
連接到本地MongoDB實例。我在包裝如何處理連接方面遇到了一些麻煩。我已經嘗試抽象MongoDB的東西到定製Database
模塊:如何處理Node/MongoDB連接管理?
Database.js
var mongo = require('mongodb');
var Database = function() { return this; };
Database.prototype.doStuff = function doStuff(callback) {
mongo.connect('mongodb://127.0.0.1:27017/testdb', function(err, conn) {
conn.collection('test', function(err, coll) {
coll.find({}, function(err, cursor) {
cursor.toArray(function(err, items) {
conn.close();
return callback(err, items);
});
});
});
});
};
// Testing
new Database().doStuff(function(err, items) {
console.log(err, items);
});
是否需要爲每個方法一個新的連接?這似乎會非常快速地變得昂貴。我想到,也許連接將建立在構造函數中,隨後的調用將利用現有的連接。
這下一個問題可能更多的是設計問題,但考慮如何建立連接和拆卸可能是昂貴的操作,我正在考慮添加一個數據庫對象,它是我的應用程序的全局數據庫,可用於調用到數據庫。這看起來合理嗎?
請注意,上面的代碼大致取自here。謝謝你的幫助。