代码:

var connection = mongoose.createConnection('mongodb://localhost:9000/' + databaseName);
connection.db.dropDatabase(function(err){
    // never reach this point!
    debugger;
    console.log(err);
    console.log('-------------->Dropped database: ' + databaseName);
});

如果我执行connection.open,则表示它已经打开,并且同一连接不支持多次调用“open”。

即使这样也不行
var conn = mongoose.createConnection('mongodb://localhost',databaseName, 9000, {}, function(){
    console.log('created'); // is reached
    conn.db.dropDatabase(callback); // but the callback is not called anyway
});

问题是什么? (“ Mongoose ”:“3.1.0”)
数据库甚至没有被删除...
谢谢

最佳答案

    var connection = mongoose.createConnection('mongodb://localhost:9000/' + databaseName, function(err){
        connection.db.dropDatabase(function(err){
                         // now it works!
                    })
    });

问题是在打开连接时dropDatabase命令没有排队,也没有运行。因此,如果我在createConnection上使用了回调,那么它可以正常工作,并在此之后删除数据库,它可以正常工作!

10-08 03:54