Mongojs 是 mongodb-native 库的瘦包装器,但唯一的问题是我无法监听错误?
需要处理的主要错误是连接错误、无法连接或丢失连接。这是我迄今为止尝试过的示例。
var mongojs = require('mongojs');
var db = mongojs.connect('reallyRandomStringShouldGiveError', ['sessions', 'unknown']);
// This does not work
db.on('error', function(err) {
console.log('Catch ', err);
});
db.sessions.insert({ a: 1 });
db.unkknown.find({ a: 1}, function (err, result) {
console.log(err, result);
});
以及来自“mongojs”库的代码应该再次发出错误mongojs 源
var connect = function(config, collections) {
var connectionString = parseConfig(config);
var ondb = thunky(function(callback) {
mongodb.Db.connect(connectionString, function(err, db) {
if (err) return callback(err);
that.client = db;
db.on('error', function(err) {
process.nextTick(function() {
// Errors seems to be emitted again
that.emit('error', err);
});
});
callback(null, db);
});
});
var that = new Database(ondb);
.....
return that;
};
添加进程监听器不是最好的选择。
process.on('uncaughtException', function(err) {
console.log(err);
});