连接停止时如何处理猫鼬数据库

Posted

技术标签:

【中文标题】连接停止时如何处理猫鼬数据库【英文标题】:How to handle mongoose database while connection stop 【发布时间】:2017-01-04 02:57:16 【问题描述】:

我已经在 node js 应用程序中实现了 mongoose。我想在我的 mongodb 连接停止时处理我的应用程序中的错误。目前,如果我的节点应用程序正在运行并且 mongodb 连接停止,那么节点服务器就会崩溃。

mongoose.connect(config.get('db'), function (err) 
    if (err) 
        console.log('Unable to connect to MongoDb');
    
    // routes =====================================================
    var router = require('./router/index')(app, passport);

    //error handler ==============================================

    var errorHandler = new ErrorHandler(logger);
    app.use(errorHandler.build());
);

如果我在没有启动 mongodb 连接的情况下启动我的节点应用程序,那么节点服务器就会启动,但是当我点击任何 api 方法时,mongoose 数据库架构回调函数不会返回任何错误。

我想处理猫鼬连接失败。请任何人帮助我

User.findOne( 'local.workEmail': workEmail , function (err, user) 
                        // if there are any errors, return the error
                        if (err)
                            return done(err);
);

【问题讨论】:

【参考方案1】:

您可以在error 事件中捕获错误。 在mongoose.connect之前添加这个。

mongoose.connection.on("error", function(err) 
  console.log("Could not connect to MongoDb!");
);

【讨论】:

以上是关于连接停止时如何处理猫鼬数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何正确处理猫鼬模式迁移?

如何正确处理猫鼬模式迁移?

如何正确处理猫鼬模式迁移?

调用 REST API 时如何处理 Google Ads API 速率限制?

断开互联网连接时如何处理 NSJSONSerialization 崩溃

访问从不同线程访问的控件时如何处理无效的跨线程操作?