Beispiel #1
0
        /// <summary>
        /// 封装对MongoDB 的操作处理。
        /// </summary>
        public MongoDBHelper(bool createNewCollection)
        {
            var cfgs = CONNECTION_STRING.Split(':');

            if (cfgs.Length != 2)
            {
                throw new MB.Util.APPException("请先配置Mongo数据库连接字符窜配置有误.例如:MongoDbConnection=IP:database", Util.APPMessageType.SysErrInfo);
            }

            _ConnectionString = string.Format("mongodb://{0}", cfgs[0]);
            _DataBaseName     = cfgs[1];

            _Server = MongoServer.Create(_ConnectionString);
            string collectionName = typeof(T).FullName;
            //获取databaseName对应的数据库,不存在则自动创建
            MongoDatabase mongoDatabase = _Server.GetDatabase(_DataBaseName) as MongoDatabase;

            if (createNewCollection)
            {
                mongoDatabase.DropCollection(collectionName);
            }

            if (mongoDatabase.CollectionExists(collectionName))
            {
                mongoDatabase.CreateCollectionSettings <T>(collectionName);
            }

            _DataCollection = mongoDatabase.GetCollection <T>(collectionName);
            //链接数据库
            _Server.Connect();
        }
 public MongoCollectionSettings <TDefaultDocument> CreateCollectionSettings <TDefaultDocument>(string collectionName)
 {
     return(_mongoDatabase.CreateCollectionSettings <TDefaultDocument>(collectionName));
 }