在我的端到端测试中,我想删除“测试”数据库,然后创建一个新的测试数据库。删除整个数据库很简单:
mongoose.connection.db.command( {dropDatabase:1}, function(err, result) {
console.log(err);
console.log(result);
});
但是现在我如何创建测试数据库?我在文档中找不到createDatabase
oruseDatabase
命令。我必须断开并重新连接,还是有正确的命令?如果创建数据库的唯一方法是连接到服务器的副作用,那将是很奇怪的。
更新
我发现了一些似乎创建数据库的C# 代码,它看起来像是连接、删除数据库、再次连接(没有断开连接?)并创建了新的数据库。这就是我现在要做的。
public static MongoDatabase CreateDatabase()
{
return GetDatabase(true);
}
public static MongoDatabase OpenDatabase()
{
return GetDatabase(false);
}
private static MongoDatabase GetDatabase(bool clear)
{
var connectionString = ConfigurationManager.ConnectionStrings["MongoDB"].ConnectionString;
var databaseName = GetDatabaseName(connectionString);
var server = new MongoClient(connectionString).GetServer();
if (clear)
server.DropDatabase(databaseName);
return server.GetDatabase(databaseName);
}