node.js - 检查 Mongoose 连接状态而不创建新连接

标签 node.js mongoose

我有一些测试 - 即 Supertest - 加载我的 Express 应用程序。这个应用程序创建了一个 Mongoose 连接。我想知道如何从我的测试中检查该连接的状态。

在 app.js 中

mongoose.connect(...)

在 test.js 中

console.log(mongoose.connection.readyState);

如何访问 app.js 连接?如果我在 test.js 中使用相同的参数进行连接,会创建一个新连接还是查找现有连接?

最佳答案

由于 mongoose 模块导出一个单例对象,您不必在 test.js 中进行连接来检查连接状态:

// test.js
require('./app.js'); // which executes 'mongoose.connect()'

var mongoose = require('mongoose');
console.log(mongoose.connection.readyState);

就绪状态:

  • 0:断开连接
  • 1:已连接
  • 2:连接
  • 3:断开连接

关于node.js - 检查 Mongoose 连接状态而不创建新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599543/

相关文章:

javascript - 在新进程中生成 Grunt 任务

node.js - 访问 url 参数时出现 Node Js api 404 not found 错误

node.js - NodeJS 真的是单线程还是多线程?

node.js - 如何使用 Mongoose Promise - mongo

git - node.js 中本地安装的模块

javascript - knex.js - 读取然后更新会引发错误

node.js - 使用 mongoose 插入或更新到 Mongodb 并在更新时修改内部元素

node.js - 未找到匹配项的 Mongoose 查询返回什么?

javascript - 当我尝试引用另一个模式的对象时,为什么 mongoose ref 对我不起作用?

node.js - 我定义嵌套模式,当我填充输入时,它不返回任何内容并且不保存在 Mongodb 中