Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js mongoose.createconnection缺少数据库错误_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js mongoose.createconnection缺少数据库错误

Node.js mongoose.createconnection缺少数据库错误,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我试图做的是获取本地主机服务器上的数据库列表,我获取ip地址,在本例中是本地主机和数据库服务器的端口,并调用下面的服务 app.post('/loadDataBase', function(req,res){ app.set('mongoose').connection.close(); var mongoose = require('mongoose') , Admin = mongoose.mongo.Admin; // create a connection

我试图做的是获取本地主机服务器上的数据库列表,我获取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.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.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()这会关闭我以前的mongoose连接吗

在端口27017上本地运行mongod时,这对我来说很有效。它成功地打印出数据库列表及其磁盘

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);
        });
    });
});'
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);
  });
});
你能给我你的准确错误输出吗?这也许能帮助我诊断出问题所在

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);
        });
    });
});'
关于关闭以前的mongoose连接的问题:您可以使用mongoose.disconnect()关闭连接。但是,与其反复连接和断开连接,不如在应用程序启动时连接一次,然后在应用程序关闭时断开连接

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);
        });
    });
});'