mongoose.createconnection缺少数据库错误

时间:2013-09-04 08:21:10

标签: node.js mongodb mongoose

我要做的是获取我的localhost服务器上的数据库列表我得到了ip地址,在这种情况下是本地主机和数据库服务器端口,并调用下面的服务。

我在控制台中获得的错误是缺少数据库名称,因为我必须只连接数据库服务器,我在哪里错过了一些东西?

app.post('/loadDataBase', function(req,res){
    app.set('mongoose').connection.close();
    var mongoose = require('mongoose')
       , Admin = mongoose.mongo.Admin;
// create a connection to the DB
  var connectionStr="mongodb://"+req.body.host+":"+req.body.port;
    /* var connection = mongoose.createConnection(
     'mongodb://127.0.0.1');*/
    var connection = mongoose.createConnection(connectionStr) ;
    connection.on('open', function() {
        // connection established
        new Admin(connection.db).listDatabases(function(err, result) {

            // database list stored in result.databases
            var allDatabases = result.databases;

            res.send(allDatabases);
        });
    });
});'

app.set('mongoose').connection.close();这会关闭我以前的猫鼬连接吗?

1 个答案:

答案 0 :(得分:0)

这适用于我在端口27017上本地运行的mongod。它成功打印出一个数据库列表及其sizeOnDisk。

var mongoose = require('mongoose')
  , Admin = mongoose.mongo.Admin;

var connection = mongoose.createConnection('mongodb://localhost:27017') ;
connection.on('open', function() {
  // connection established
  new Admin(connection.db).listDatabases(function(err, result) {

    // database list stored in result.databases
    var allDatabases = result.databases;

    console.log(allDatabases);
  });
});

你能告诉我你的确切错误输出吗?这可能有助于我诊断出问题所在。

关于关闭以前的mongoose连接的问题:您可以使用mongoose.disconnect()关闭连接。但是,不是重复连接和断开连接,最好在应用程序启动时连接一次,然后在应用程序关闭时断开连接。