Mongojs は mongodb ネイティブ ライブラリのシン ラッパーですが、唯一の問題はエラーをリッスンできないことですか?
処理する必要がある主なエラーは、接続エラー、接続できなかった、または接続が失われたことです。ここに私がこれまでに試した例があります。
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 source
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);
});