GetTagPath() public static method

获得对象的路径
public static GetTagPath ( string objectTag ) : string
objectTag string
return string
        /// <summary>
        ///     获得ServerKey
        /// </summary>
        /// <returns></returns>
        public static string GetCurrentServerKey()
        {
            var strSvrPath = TagInfo.GetTagPath(SelectObjectTag);
            var strPath    = strSvrPath.Split("/".ToCharArray());

            return(strPath[0]);
        }
Beispiel #2
0
        /// <summary>
        ///     根据路径字符获得客户端
        /// </summary>
        /// <param name="strObjTag">[Tag:Connection/Host@Port/DBName/Collection]</param>
        /// <returns></returns>
        /// <param name="mongoConnSvrLst"></param>
        public static MongoClient GetMongoClientBySvrPath(string strObjTag,
                                                          Dictionary <string, MongoClient> mongoConnSvrLst)
        {
            var strSvrPath = TagInfo.GetTagPath(strObjTag);
            var strPath    = strSvrPath.Split("/".ToCharArray());

            if (strPath.Length == 1)
            {
                //[Tag:Connection
                if (mongoConnSvrLst.ContainsKey(strPath[0]))
                {
                    return(mongoConnSvrLst[strPath[0]]);
                }
            }
            if (strPath.Length > (int)EnumMgr.PathLevel.Instance)
            {
                if (strPath[0] == strPath[1])
                {
                    //[Tag:Connection/Connection/DBName/Collection]
                    return(mongoConnSvrLst[strPath[0]]);
                }
                //[Tag:Connection/Host@Port/DBName/Collection]
                var strInstKey = strPath[(int)EnumMgr.PathLevel.Connection] + "/" +
                                 strPath[(int)EnumMgr.PathLevel.Instance];
                if (MongoInstanceLst.ContainsKey(strInstKey))
                {
                    return(mongoConnSvrLst[strPath[0]]);
                }
            }
            return(null);
        }
Beispiel #3
0
        /// <summary>
        ///     通过路径获得数据集
        /// </summary>
        /// <param name="strObjTag">[Tag:Connection/Host@Port/DBName/Collection]</param>
        /// <returns></returns>
        public static MongoCollection GetMongoCollectionBySvrPath(string strObjTag, MongoDatabase mongoDb)
        {
            MongoCollection rtnMongoCollection = null;

            if (mongoDb != null)
            {
                var strSvrPath   = TagInfo.GetTagPath(strObjTag);
                var strPathArray = strSvrPath.Split("/".ToCharArray());
                if (strPathArray.Length > (int)EnumMgr.PathLevel.Collection)
                {
                    rtnMongoCollection = mongoDb.GetCollection(strPathArray[(int)EnumMgr.PathLevel.Collection]);
                }
            }
            return(rtnMongoCollection);
        }
Beispiel #4
0
        /// <summary>
        ///     根据路径字符获得数据库
        /// </summary>
        /// <param name="strObjTag"></param>
        /// <param name="mongoSvr"></param>
        /// <returns></returns>
        public static IMongoDatabase GetMongoDBBySvrPath(string strObjTag, MongoClient mongoSvr)
        {
            IMongoDatabase rtnMongoDb = null;

            if (mongoSvr != null)
            {
                var strSvrPath   = TagInfo.GetTagPath(strObjTag);
                var strPathArray = strSvrPath.Split("/".ToCharArray());
                if (strPathArray.Length > (int)EnumMgr.PathLevel.Database)
                {
                    rtnMongoDb = mongoSvr.GetDatabase(strPathArray[(int)EnumMgr.PathLevel.Database]);
                }
            }
            return(rtnMongoDb);
        }
        /// <summary>
        ///     通过路径获得数据集
        /// </summary>
        /// <param name="strObjTag"></param>
        /// <param name="mongoDb"></param>
        /// <returns></returns>
        public static IMongoCollection <BsonDocument> GetMongoCollectionBySvrPath(string strObjTag,
                                                                                  IMongoDatabase mongoDb)
        {
            IMongoCollection <BsonDocument> rtnMongoCollection = null;

            if (mongoDb != null)
            {
                var strSvrPath   = TagInfo.GetTagPath(strObjTag);
                var strPathArray = strSvrPath.Split("/".ToCharArray());
                if (strPathArray.Length > (int)EnumMgr.PathLevel.CollectionAndView)
                {
                    rtnMongoCollection =
                        mongoDb.GetCollection <BsonDocument>(strPathArray[(int)EnumMgr.PathLevel.CollectionAndView]);
                }
            }
            return(rtnMongoCollection);
        }