public IEnumerable<string> GetDatabaseNames()
{
Contract.Ensures(Contract.Result<IEnumerable<string>>() != null);
var names = new List<string>();
dynamic cmd = new Command("listDatabases", 1);
dynamic result = GetDB("admin").ExecuteCommand(cmd);
foreach (var db in result.databases)
{
names.Add(db.name as string);
}
return names;
}