Mongoose 3.1.0:为什么从不调用connection.db.dropDatabase(回调)中的回调而且DB没有被删除?

Tot*_*.js 5 mongoose

码:

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);
});
Run Code Online (Sandbox Code Playgroud)

如果我连接.打开它表示它已经打开,并且同一连接不支持多次"打开"调用.

即使这样也行不通

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
});
Run Code Online (Sandbox Code Playgroud)

问题是什么?("mongoose":"3.1.0")数据库甚至没有丢弃......谢谢

Tot*_*.js 3

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

问题是 dropDatabase 命令未排队且在连接打开时未运行。因此,如果我在 createConnection 上使用回调,那么它就起作用了,然后在此之后删除数据库,它就起作用了!