Esempio n. 1
0
        //从权限上看,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);
        }
Esempio n. 3
0
        /// <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;
        }
Esempio n. 5
0
 /// <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;
 }