javascript - 检查 mongodb 服务器是否同步事件

标签 javascript node.js mongodb

有没有办法同步检查 mongod 实例(使用 mongoclient)是否仍在运行?

我有一个db.on('close')我的 mongoclient 模块中的处理程序在 mongod 正常退出的情况下工作,但如果我终止服务器进程,我的 Node 应用程序将完全挂起,无法返回其正常职责。所有请求都被阻止,并且没有超时。

当 mongod 再次启动时,应用程序将恢复正常,因此如果等待时间太长,肯定可以采取一些措施来终止该应用程序。

我只能认为同步执行此操作是对 db.runCommand({serverStauts: 1}) 进行另一个回调肯定会陷入同样的​​状态。

最佳答案

我将 db.on('close') 的类似句柄附加到“error”事件,它的工作原理就像一个魅力。

这是我使用的代码(在 mongoclient.open 内部)

db.on('error', function() {
                close(); // calls mongoclient.close()
                return callback('Lost MongoDB!', null);
            });

关于javascript - 检查 mongodb 服务器是否同步事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24533582/

相关文章:

javascript - 如何删除数组中的重复数组?

javascript - 正确封装JS代码,不用担心 "this"

javascript - 在 Bootstrap 的每一列中排序

javascript - sinatra javascript 调用

javascript - 遵循 React + Node.js 博客教程时出现语法错误 "Unexpected token"

mongodb - 如何在 MongoDb 中查找和匹配

mongodb - 为什么解释查询输出给我 Basic Cursor,即使集合上有索引?

要提取的 Node.js jszip 库

node.js - 在 npm 脚本中将 shell 环境变量作为参数传递

c# - 无法从 IMongoQueryable mongodb C# 驱动程序 linq 语句上的 GroupBy 中的组获取​​组项目