Mohammad Raheem
Mohammad Raheem

Reputation: 1157

How to send message to frontend in case of MongoDb connection Failed

Is there any way to send error to frontend on mongoDb connection error.I had tried in a different different way but I didnt get a solution.

var express = require('express');
var session = require('express-session');
var MongoDBStore = require('connect-mongodb-session')(session);  
    var store = new MongoDBStore(
          {
            uri: config.connectionString,
            collection: 'tbl_session'
          });


      // Catch errors
        store.on('error', function(error) {
              app.get('/',function(req,res){

              res.send('NOT Connected....')
            });
    });

Upvotes: 0

Views: 413

Answers (1)

Sunil B N
Sunil B N

Reputation: 4225

You can use web sockets to push this information to the UI.

const express = require('express');
const app = express();
const path = require('path');
const server = require('http').createServer(app);
const io = require('../..')(server);
const port = process.env.PORT || 3000;
var session = require('express-session');
var MongoDBStore = require('connect-mongodb-session')(session);  
    var store = new MongoDBStore(
          {
            uri: config.connectionString,
            collection: 'tbl_session'
          });


      // Catch errors
        store.on('error', function(error) {
              socket.emit('mongodb-failed', error)
            });
    });
server.listen(port, () => {
  console.log('Server listening at port %d', port);
});

// Routing
app.use(express.static(path.join(__dirname, 'public')));

io.on('connection', (socket) => {
  // when socket emits 'mongodb-connection-failed', this listens and executes
  socket.on('mongodb-failed', (data) => {
    // we tell the client to execute 'new message'
    socket.broadcast.emit('mongodb-connection-failed', {
        errorDetails: data
    });
  });
});

now at client side:

var socket = io();
socket.on('mongodb-connection-failed', () => {
    console.log('you have been disconnected');
   //do more whatever you want to.
});

This above example is using socket.io. You can use any web socket library, see more here

Upvotes: 2

Related Questions