//从权限上看,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> /// <param name="tr"></param> /// <returns></returns> public static String DataBaseOpration(String strObjTag, String dbName, Oprcode func, TreeNode tr) { String rtnResult = String.Empty; MongoServer mongoSvr = GetMongoServerBySvrPath(strObjTag); String strSvrPath = SystemManager.GetTagData(strObjTag); String svrKey = strSvrPath.Split("/".ToCharArray())[(int)PathLv.InstanceLv]; var result = new CommandResult(new BsonDocument()); if (mongoSvr != null) { switch (func) { case Oprcode.Create: if (!mongoSvr.DatabaseExists(dbName)) { //从权限上看,clusterAdmin是必须的 //但是能够建立数据库,不表示能够看到里面的内容! //dbAdmin可以访问数据库。 //clusterAdmin能创建数据库但是不能访问数据库。 try { mongoSvr.GetDatabase(dbName); tr.Nodes.Add(UIHelper.FillDataBaseInfoToTreeNode(dbName, mongoSvr, svrKey + "/" + svrKey)); } catch (Exception ex) { //如果使用没有dbAdmin权限的clusterAdmin。。。。 SystemManager.ExceptionDeal(ex); } } break; case Oprcode.Drop: if (mongoSvr.DatabaseExists(dbName)) { result = mongoSvr.DropDatabase(dbName); if (tr != null) { tr.TreeView.Nodes.Remove(tr); } if (!result.Response.Contains("err")) { return(String.Empty); } return(result.Response["err"].ToString()); } break; case Oprcode.Repair: //其实Repair的入口不在这个方法里面 CommandHelper.ExecuteMongoDBCommand(CommandHelper.repairDatabase_Command, SystemManager.GetCurrentDataBase()); break; default: 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); }
/// <summary> /// 数据集操作 /// </summary> /// <param name="strSvrPathWithTag"></param> /// <param name="collectionName"></param> /// <param name="func"></param> /// <param name="treeNode"></param> /// <param name="newCollectionName"></param> /// <returns></returns> public static Boolean CollectionOpration(String strSvrPathWithTag, String collectionName, Oprcode func, TreeNode treeNode, String newCollectionName = "") { Boolean rtnResult = false; MongoDatabase mongoDB = GetMongoDBBySvrPath(strSvrPathWithTag); String strSvrPath = strSvrPathWithTag.Split(":".ToCharArray())[1]; String svrkey = strSvrPath.Split("/".ToCharArray())[0]; if (mongoDB != null) { switch (func) { case Oprcode.Create: if (!mongoDB.CollectionExists(collectionName)) { ///没有参数的CreateCollection,被高级CreateCollection取代了 //mongoDB.CreateCollection(collectionName); //treeNode.Nodes.Add(FillCollectionInfoToTreeNode(collectionName, mongoDB, svrkey)); //rtnResult = true; } break; case Oprcode.Drop: if (mongoDB.CollectionExists(collectionName)) { mongoDB.DropCollection(collectionName); treeNode.TreeView.Nodes.Remove(treeNode); rtnResult = true; } break; case Oprcode.Rename: if (!mongoDB.CollectionExists(newCollectionName)) { mongoDB.RenameCollection(collectionName, newCollectionName); treeNode.Text = newCollectionName; //添加新节点 treeNode.Parent.Nodes.Add(FillCollectionInfoToTreeNode(newCollectionName, mongoDB, svrkey)); //删除旧节点 treeNode.TreeView.Nodes.Remove(treeNode); rtnResult = true; } break; default: 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; }
/// <summary> /// 数据库操作 /// </summary> /// <param name="strObjTag"></param> /// <param name="dbName"></param> /// <param name="func"></param> /// <param name="tr"></param> /// <returns></returns> public static Boolean DataBaseOpration(String strObjTag, String dbName, Oprcode func, TreeNode tr) { Boolean rtnResult = false; MongoServer mongoSvr = GetMongoServerBySvrPath(strObjTag); String strSvrPath = SystemManager.GetTagData(strObjTag); String svrKey = strSvrPath.Split("/".ToCharArray())[(int)PathLv.ServerLV]; if (mongoSvr != null) { switch (func) { case Oprcode.Create: if (!mongoSvr.DatabaseExists(dbName)) { mongoSvr.GetDatabase(dbName); tr.Nodes.Add(FillDataBaseInfoToTreeNode(dbName, mongoSvr, svrKey + "/" + svrKey)); rtnResult = true; } break; case Oprcode.Drop: if (mongoSvr.DatabaseExists(dbName)) { mongoSvr.DropDatabase(dbName); if (tr != null) { tr.TreeView.Nodes.Remove(tr); } rtnResult = true; } break; case Oprcode.Repair: //How To Compress?Run Command?? break; default: break; } } return(rtnResult); }
/// <summary> /// 数据库操作 /// </summary> /// <param name="strSvrPathWithTag"></param> /// <param name="dbName"></param> /// <param name="func"></param> /// <param name="tr"></param> /// <returns></returns> public static Boolean DataBaseOpration(String strSvrPathWithTag, String dbName, Oprcode func, TreeNode tr) { Boolean rtnResult = false; MongoServer mongoSvr = GetMongoServerBySvrPath(strSvrPathWithTag); String strSvrPath = strSvrPathWithTag.Split(":".ToCharArray())[1]; String svrKey = strSvrPath.Split("/".ToCharArray())[0]; if (mongoSvr != null) { switch (func) { case Oprcode.Create: if (!mongoSvr.DatabaseExists(dbName)) { mongoSvr.GetDatabase(dbName); tr.Nodes.Add(FillDataBaseInfoToTreeNode(dbName, mongoSvr, svrKey)); rtnResult = true; } break; case Oprcode.Drop: if (mongoSvr.DatabaseExists(dbName)) { mongoSvr.DropDatabase(dbName); if (tr != null) { tr.TreeView.Nodes.Remove(tr); } rtnResult = true; } break; case Oprcode.Repair: //How To Compress?Run Command?? break; default: break; } } return rtnResult; }
/// <summary> /// 数据库操作 /// </summary> /// <param name="strObjTag"></param> /// <param name="dbName"></param> /// <param name="func"></param> /// <param name="tr"></param> /// <returns></returns> public static String DataBaseOpration(String strObjTag, String dbName, Oprcode func, TreeNode tr) { String rtnResult = String.Empty; MongoServer mongoSvr = GetMongoServerBySvrPath(strObjTag); String strSvrPath = SystemManager.GetTagData(strObjTag); String svrKey = strSvrPath.Split("/".ToCharArray())[(int) PathLv.InstanceLv]; var result = new CommandResult(new BsonDocument()); if (mongoSvr != null) { switch (func) { case Oprcode.Create: if (!mongoSvr.DatabaseExists(dbName)) { //从权限上看,clusterAdmin是必须的 //但是能够建立数据库,不表示能够看到里面的内容! //dbAdmin可以访问数据库。 //clusterAdmin能创建数据库但是不能访问数据库。 try { mongoSvr.GetDatabase(dbName); tr.Nodes.Add(UIHelper.FillDataBaseInfoToTreeNode(dbName, mongoSvr, svrKey + "/" + svrKey)); } catch (Exception ex) { //如果使用没有dbAdmin权限的clusterAdmin。。。。 SystemManager.ExceptionDeal(ex); } } break; case Oprcode.Drop: if (mongoSvr.DatabaseExists(dbName)) { result = mongoSvr.DropDatabase(dbName); if (tr != null) { tr.TreeView.Nodes.Remove(tr); } if (!result.Response.Contains("err")) { return String.Empty; } return result.Response["err"].ToString(); } break; case Oprcode.Repair: //其实Repair的入口不在这个方法里面 CommandHelper.ExecuteMongoDBCommand(CommandHelper.repairDatabase_Command, SystemManager.GetCurrentDataBase()); break; default: break; } } return rtnResult; }