//从权限上看,clusterAdmin是必须的 //但是能够建立数据库,不表示能够看到里面的内容! //dbAdmin可以访问数据库。 //clusterAdmin能创建数据库但是不能访问数据库。 /// <summary> /// 数据库操作 /// </summary> /// <param name="strObjTag"></param> /// <param name="dbName"></param> /// <param name="func"></param> /// <returns></returns> public static string DataBaseOpration(string strObjTag, string dbName, Oprcode func) { var mongoSvr = RuntimeMongoDbContext.GetCurrentServer(); var rtnResult = string.Empty; TagInfo.GetTagPath(strObjTag); if (mongoSvr == null) { return(rtnResult); } var db = mongoSvr.GetDatabase(dbName); switch (func) { case Oprcode.Drop: if (mongoSvr.DatabaseExists(dbName)) { var result = mongoSvr.DropDatabase(dbName); return(!result.Response.Contains("err") ? string.Empty : result.Response["err"].ToString()); } break; case Oprcode.Repair: //其实Repair的入口不在这个方法里面 CommandHelper.ExecuteMongoDBCommand(CommandHelper.RepairDatabaseCommand, mongoSvr.GetDatabase(dbName)); break; } return(rtnResult); }
/// <summary> /// 数据库操作 /// </summary> /// <param name="strObjTag"></param> /// <param name="dbName"></param> /// <param name="func"></param> /// <returns></returns> public static string DataBaseOpration(string strObjTag, string dbName, Oprcode func) { var mongoSvr = RuntimeMongoDbContext.GetCurrentServer(); var rtnResult = string.Empty; var tag = TagInfo.GetTagPath(strObjTag); if (mongoSvr == null) { return(rtnResult); } switch (func) { case Oprcode.Create: if (!mongoSvr.DatabaseExists(dbName)) { //从权限上看,clusterAdmin是必须的 //但是能够建立数据库,不表示能够看到里面的内容! //dbAdmin可以访问数据库。 //clusterAdmin能创建数据库但是不能访问数据库。 try { //Driver 2.0.1 //如果没有后续对于db的操作,则数据库无法新建 var db = mongoSvr.GetDatabase(dbName); db.CreateCollection("demo"); } catch (Exception ex) { //如果使用没有dbAdmin权限的clusterAdmin。。。。 Utility.ExceptionDeal(ex); } } break; case Oprcode.Drop: if (mongoSvr.DatabaseExists(dbName)) { var result = mongoSvr.DropDatabase(dbName); return(!result.Response.Contains("err") ? string.Empty : result.Response["err"].ToString()); } break; case Oprcode.Repair: //其实Repair的入口不在这个方法里面 CommandHelper.ExecuteMongoDBCommand(CommandHelper.RepairDatabaseCommand, mongoSvr.GetDatabase(dbName)); break; } return(rtnResult); }