我试图通过mongoose将我的节点应用程序连接到mongodb。因为可以添加文档,所以它似乎正在工作,但是出现了{ [Error: Trying to open unclosed connection.] state: 2 }错误。

我创建了一个非常简单的应用程序,目的是确保在连接实际应用程序之前一切正常。

这是我的简单应用程序:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var timeSchema = new Schema({ timestamp: String });
var Time = mongoose.model('Time', timeSchema);

mongoose.connect('mongodb://localhost/mydb');

var db = mongoose.connection;

db.on('error', console.error.bind(console, 'connection error: '));
db.once('open', function () {

  var testA = new Test({ timestamp: Date() });

});

我还尝试将db.close()添加到末尾,但这没什么区别。

这可以在具有以下功能的Ubuntu 14.04 VPS上运行:
  • Node.js v0.10.3
  • MongoDB 2.6.3
  • Mongoose 1.4.21
  • 最佳答案

    我认为,您正在尝试创建另一个连接而不关闭当前连接。因此,您可能要使用:

    createConnection()而不是connect()

    在您的情况下,它看起来像这样:

    db = mongoose.createConnection('mongodb://localhost/mydb');
    

    关于node.js - 为什么我收到 “Trying to open unclosed connection.”错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25250544/

    10-09 18:22