【问题标题】:Mongoose Connection Keeps Closing猫鼬连接不断关闭
【发布时间】:2012-12-18 22:11:45
【问题描述】:

我有一个应该永远运行的 Node.js 应用程序,并且正在创建一个 mongodb 连接。但是,连接会在几秒钟后关闭并导致应用程序崩溃。我已将所有代码剥离回创建连接方法。应用代码:

var mongoose = require('mongoose'),
    db = mongoose.createConnection("mongodb://localhost:28017/mwa");

然后几秒钟后我得到:

node.js:201
    throw e; // process.nextTick error, or 'error' event on first tick
          ^
Error: connection closed
    at [object Object].<anonymous> (/home/gavin/mwa/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:557:24)
    at [object Object].emit (events.js:88:20)
    at [object Object].<anonymous> (/home/gavin/mwa/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:109:15)
    at [object Object].emit (events.js:70:17)
    at Socket.<anonymous> (/home/gavin/mwa/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:427:12)
    at Socket.emit (events.js:67:17)
    at Array.0 (net.js:335:10)
    at EventEmitter._tickCallback (node.js:192:40)

【问题讨论】:

  • 发生这种情况时,您是否检查过 MongoDB 是否正在重新启动?检查其日志文件是否存在导致连接中断的问题。
  • 日志没有显示任何内容,但是您的评论提示我尝试重新启动 mongo。那确实有效:)如果您将其添加为答案,我将接受;)
  • 好的,我添加了一个答案。
  • 不确定 MongoDB,但在大多数(传统数据库)中,最好按需打开/关闭连接,而不是让它永远打开。数据库驱动程序通常经过优化以在后台创建和管理池连接,因此(打开/关闭)往往非常快。
  • mongod 默认监听 27017 端口,28017 上提供 web-stats。希望连接的端口号不要混淆。

标签: node.js mongodb mongoose


【解决方案1】:

检查 MongoDB 的日志文件,看看它是否遇到任何导致连接中断的问题。正如您所提到的,如果日志中没有任何内容,那么重新启动 MongoDB 将是一件好事。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 2014-06-20
    • 2012-12-26
    • 2013-03-20
    • 2012-02-07
    • 2013-10-22
    • 2012-08-09
    相关资源
    最近更新 更多