Hal*_*ton 33 mongoose node.js node-mongodb-native
我正在尝试通过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() });
});
Run Code Online (Sandbox Code Playgroud)
我也试过添加db.close()到最后,但它没有任何区别.
这是在Ubuntu 14.04 VPS上运行的:
lva*_*yut 60
在我看来,你试图创建另一个连接而不关闭当前的连接.所以,您可能想要使用:
createConnection()而不是connect().
在你的情况下,它看起来像这样:
db = mongoose.createConnection('mongodb://localhost/mydb');
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,发现在另一个文件中具有以下连接,这就是为什么无法使用其他数据库名称进行连接的原因。createConnection需要以下内容:
db = mongoose.createConnection('mongodb://localhost/mydb');
Run Code Online (Sandbox Code Playgroud)
我在另一个文件中的内容:
db = mongoose.Connection('mongodb://localhost/mydb');
Run Code Online (Sandbox Code Playgroud)