侦听“ mongojs”连接错误

里斯托·诺维克(Risto Novik)

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);
});
查理布朗尼

我认为这对您不起作用:

db.on('error', function(err) {
    console.log('Catch ', err);
});

因为这是一个最终在Github上发布的问题,现在已经解决了,所以在这里看看...所以您现在可以抓住所有问题(我在某些编码中使用了它,并且可以正常工作!)。

您可以走得更远,并err在回调中传递参数,例如:

db.collection.insert( { foo: "foo_value" }, function(err) {
    if (err) {
        console.log(" Woops! The error took place here... ");
    } else {
        console.log(" Everything went neat! ");
    }
});

...知道该错误发生在哪里。这对我来说真的很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

侦听Winsock错误10022

来自分类Dev

动作侦听器中的动作侦听器错误

来自分类Dev

Oracle数据库连接错误侦听器拒绝了连接

来自分类Dev

netcat:侦听通过WAN的传入连接

来自分类Dev

IntentService连接到服务器侦听

来自分类Dev

可以traefik侦听来自子网的连接

来自分类Dev

使用PHP连接到侦听Netcat

来自分类Dev

使用PHP连接到侦听Netcat

来自分类Dev

侦听器和符号错误的问题

来自分类Dev

Android Button onClick侦听器错误?

来自分类Dev

RxJS在Ajax错误后继续侦听

来自分类Dev

指南针侦听器错误

来自分类Dev

错误的片段接收onLongPress侦听器

来自分类Dev

指南针侦听器错误

来自分类Dev

菜单内的fireEvent侦听器错误

来自分类Dev

Netstat显示与侦听端口关联的错误进程

来自分类Dev

侦听 fs.createReadStream 上发出的错误

来自分类Dev

触发了错误的 onclick 侦听器

来自分类Dev

Https 侦听器证书错误

来自分类Dev

如何设置TcpListener始终侦听并接受多个连接?

来自分类Dev

使用Smack库在端口上侦听XMPP连接

来自分类Dev

将onClick侦听器连接到Dojo小部件

来自分类Dev

spring / tomcat-jdbc池-新的连接侦听器

来自分类Dev

PayPal侦听器:连接是否被对等方重置?

来自分类Dev

MQ JMS重新连接-异常侦听器

来自分类Dev

无法建立与在0.0.0.0:8443上侦听的应用程序的连接

来自分类Dev

如何显示侦听端口和与端口的TCP连接

来自分类Dev

如果正在侦听连接,如何关闭套接字

来自分类Dev

双连接组件中的侦听器顺序