代码:
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上使用了回调,那么它可以正常工作,并在此之后删除数据库,它可以正常工作!