Node.js MongoDb连接失败时如何向前端发送消息
是否有任何方法可以将mongoDb连接错误发送到前端。我尝试了不同的方法,但没有找到解决方案Node.js MongoDb连接失败时如何向前端发送消息,node.js,mongodb,Node.js,Mongodb,是否有任何方法可以将mongoDb连接错误发送到前端。我尝试了不同的方法,但没有找到解决方案 var express = require('express'); var session = require('express-session'); var MongoDBStore = require('connect-mongodb-session')(session); var store = new MongoDBStore( { uri
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....')
});
});
您可以使用web套接字将此信息推送到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
});
});
});
现在在客户端:
var socket = io();
socket.on('mongodb-connection-failed', () => {
console.log('you have been disconnected');
//do more whatever you want to.
});
上述示例使用的是socket.io。
您可以使用任何web套接字库,添加更多详细信息,如您所尝试的内容。
MongoDBStore()
来自哪里?它不是任何官方驱动程序的一部分。在这个问题上你需要更具体一些。请看,您可以使用web套接字,也可以在某个时间间隔从客户端发出心跳请求。下面我的回答是使用web套接字。谢谢。我看起来像这样。非常感谢