Bạn có thể sử dụng sự kiện để xử lý nó dưới dạng gọi lại.
Và có thể có biến toàn cục của bạn sẽ xác định rằng nó không được kết nối.
Bạn có thể có db.js
riêng biệt tệp đó sẽ hoạt động như mô-đun. Và bạn có thể có chức năng lấy bộ sưu tập từ nó.
var mongodb = require('mongodb');
var client;
var collections = { };
new mongodb.Db( ... ).open((function (err, c) {
if (!err) {
client = c;
client.on('close', function() {
client = null; // clear client
collections = { }; // clear old collections
// connection closed
});
} else {
// error connecting
}
});
// get collection
exports.get = function(name, callback) {
if (client) {
if (!collections[name]) {
collections[name] = new mongodb.Collection(client, name);
}
callback(null, collections[name]);
} else {
// can perform reconnecting and then get collection and call callback
callback(new Error('not connected'));
}
}
Vì vậy, để sử dụng nó:
var db = require('./db.js');
db.get('users', function(err, collection) {
if (!err) {
collection.find({ ...
} else {
console.log(err);
}
});
Xin lỗi, chỉ nhận thấy rằng bạn đang sử dụng Mongoose, có thể hơi khác một chút.