【问题标题】:Close erroneous mongoose connection关闭错误的猫鼬连接
【发布时间】:2014-06-20 22:26:47
【问题描述】:

当mongoose连接数据库失败时,如何正确结束脚本?

以下继续运行:

var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/db', function(err){
    if (err) {
        console.log(err);
        mongoose.connection.close();
    }
});

我也尝试了mongoose.disconnect(),结果相同。

最简单的方法显然是throw err;,但这似乎是解决问题的残酷方法。

【问题讨论】:

    标签: node.js error-handling mongoose


    【解决方案1】:

    如果connect 函数失败(即err != null),则表示连接状态未打开,因此您无法关闭或断开连接。

    为了证明给自己看,你可以查看mongoose.connection.readyState(这里是available values)。

    我可以建议使用mongoose.connection.on('error', cb); 来更好地处理连接错误。

    【讨论】:

    • 但是我该如何处理这个错误呢?只要我不手动抛出错误,脚本就会继续运行。除了以上几行之外,没有任何东西。
    • 你在回调函数中处理错误(这就是 cb 的意思)
    • 我的本地安装似乎有问题,在不同的设置上检查它,代码就退出了。必须深入研究...有没有办法查看哪些进程保持脚本运行?
    猜你喜欢
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 2013-03-20
    相关资源
    最近更新 更多