• MongoDbHelper 帮助类(上)


    在网上搜索mongodbHelper的帮助类时,出来的东西都大同小异,再此摘录一下。

    这些代码也看了一遍,总是感觉重复的代码太多了,在后续的文章中又整合了一下,请看下篇,欢迎指正!

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using MongoDB.Driver;
      6 using MongoDB.Bson;
      7 using MongoDB.Driver.Builders;
      8 namespace MongoDbTest
      9 {
     10     /// <summary>
     11     /// mongodb的封装类。
     12     /// add by yancong2008@gmail.com 2011.05.14
     13     /// </summary>
     14     public sealed class MongoDBHelper
     15     //public sealed class MongoDBHelper<T>
     16     //where T :class
     17     {
     18         public static readonly string connectionString_Default = System.Configuration.ConfigurationManager.AppSettings["ConnectionString_mongoDB"];// mongodb://192.168.0.220:27017/effmaster
     19         public static readonly string database_Default = System.Configuration.ConfigurationManager.AppSettings["Database_mongoDB"];      
     20 
     21         #region 新增
     22         public static SafeModeResult InsertOne<T>(string collectionName, T entity)
     23         {
     24             return InsertOne<T>(connectionString_Default, database_Default, collectionName, entity);
     25         }
     26         public static SafeModeResult InsertOne<T>(string connectionString, string databaseName, string collectionName, T entity)
     27         {
     28             SafeModeResult result = null;//new SafeModeResult();
     29             if (null == entity)
     30             {
     31                 return null;
     32             }
     33             MongoServer server = MongoServer.Create(connectionString);
     34             //获取数据库或者创建数据库(不存在的话)。
     35             MongoDatabase database = server.GetDatabase(databaseName);
     36             using (server.RequestStart(database))//开始连接数据库。
     37             {
     38                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
     39                 result = myCollection.Insert(entity);
     40             }
     41             return result;
     42         }
     43         public static IEnumerable<SafeModeResult> InsertAll<T>(string collectionName, IEnumerable<T> entitys)
     44         {
     45             return MongoDBHelper.InsertAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, entitys);
     46         }
     47         public static IEnumerable<SafeModeResult> InsertAll<T>(string connectionString, string databaseName, string collectionName, IEnumerable<T> entitys)
     48         {
     49             IEnumerable<SafeModeResult> result = null;
     50             if (null == entitys)
     51             {
     52                 return null;
     53             }
     54             MongoServer server = MongoServer.Create(connectionString);
     55             //获取数据库或者创建数据库(不存在的话)。
     56             MongoDatabase database = server.GetDatabase(databaseName);
     57             using (server.RequestStart(database))//开始连接数据库。
     58             {
     59                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
     60                 result = myCollection.InsertBatch(entitys);
     61             }
     62             return result;
     63         }
     64         #endregion
     65         #region 修改
     66         public static SafeModeResult Save<T>(string collectionName, T entity)
     67         {
     68             return MongoDBHelper.Save<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, entity);
     69         }
     70         public static SafeModeResult Save<T>(string connectionString, string databaseName, string collectionName, T entity)
     71         {
     72             MongoServer server = MongoServer.Create(connectionString);
     73             //获取数据库或者创建数据库(不存在的话)。
     74             MongoDatabase database = server.GetDatabase(databaseName);
     75             SafeModeResult result;
     76             using (server.RequestStart(database))//开始连接数据库。
     77             {
     78                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
     79                 result = myCollection.Save(entity);
     80             }
     81             return result;
     82         }
     83 
     84         /// <summary>
     85         /// 
     86         /// </summary>
     87         /// <typeparam name="T"></typeparam>
     88         /// <param name="collectionName"></param>
     89         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
     90         /// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
     91         /// <returns></returns>
     92         public static SafeModeResult UpdateOne<T>(string collectionName, IMongoQuery query, IMongoUpdate update)
     93         {
     94             return MongoDBHelper.UpdateOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, update);
     95         }
     96         /// <summary>
     97         /// 
     98         /// </summary>
     99         /// <typeparam name="T"></typeparam>
    100         /// <param name="connectionString"></param>
    101         /// <param name="databaseName"></param>
    102         /// <param name="collectionName"></param>
    103         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    104         /// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
    105         /// <returns></returns>
    106         public static SafeModeResult UpdateOne<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query, IMongoUpdate update)
    107         {
    108             SafeModeResult result;
    109             if (null == query || null == update)
    110             {
    111                 return null;
    112             }
    113             MongoServer server = MongoServer.Create(connectionString);
    114             //获取数据库或者创建数据库(不存在的话)。
    115             MongoDatabase database = server.GetDatabase(databaseName);
    116             using (server.RequestStart(database))//开始连接数据库。
    117             {
    118                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
    119                 result = myCollection.Update(query, update, UpdateFlags.None);
    120             }
    121             return result;
    122         }
    123 
    124         /// <summary>
    125         /// 
    126         /// </summary>
    127         /// <typeparam name="T"></typeparam>
    128         /// <param name="collectionName"></param>
    129         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    130         /// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
    131         /// <returns></returns>
    132         public static SafeModeResult UpdateAll<T>(string collectionName, IMongoQuery query, IMongoUpdate update)
    133         {
    134             return MongoDBHelper.UpdateAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, update);
    135         }
    136         /// <summary>
    137         /// 
    138         /// </summary>
    139         /// <typeparam name="T"></typeparam>
    140         /// <param name="connectionString"></param>
    141         /// <param name="databaseName"></param>
    142         /// <param name="collectionName"></param>
    143         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    144         /// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
    145         /// <returns></returns>
    146         public static SafeModeResult UpdateAll<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query, IMongoUpdate update)
    147         {
    148             SafeModeResult result;
    149             if (null == query || null == update)
    150             {
    151                 return null;
    152             }
    153             MongoServer server = MongoServer.Create(connectionString);
    154             //获取数据库或者创建数据库(不存在的话)。
    155             MongoDatabase database = server.GetDatabase(databaseName);
    156             using (server.RequestStart(database))//开始连接数据库。
    157             {
    158                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
    159                 result = myCollection.Update(query, update, UpdateFlags.Multi);
    160             }
    161             return result;
    162         }
    163         #endregion
    164         #region 删除
    165         public static SafeModeResult Delete(string collectionName, string _id)
    166         {
    167             return MongoDBHelper.Delete(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, _id);
    168         }
    169         public static SafeModeResult Delete(string connectionString, string databaseName, string collectionName, string _id)
    170         {
    171             SafeModeResult result;
    172             ObjectId id;
    173             if (!ObjectId.TryParse(_id, out id))
    174             {
    175                 return null;
    176             }
    177             MongoServer server = MongoServer.Create(connectionString);
    178             //获取数据库或者创建数据库(不存在的话)。
    179             MongoDatabase database = server.GetDatabase(databaseName);
    180             using (server.RequestStart(database))//开始连接数据库。
    181             {
    182                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
    183                 result = myCollection.Remove(Query.EQ("_id", id));
    184             }
    185             return result;
    186         }
    187         public static SafeModeResult DeleteAll(string collectionName)
    188         {
    189             return MongoDBHelper.DeleteAll(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, null);
    190         }
    191         /// <summary>
    192         /// 
    193         /// </summary>
    194         /// <param name="collectionName"></param>
    195         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    196         /// <returns></returns>
    197         public static SafeModeResult DeleteAll(string collectionName, IMongoQuery query)
    198         {
    199             return MongoDBHelper.DeleteAll(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query);
    200         }
    201         /// <summary>
    202         /// 
    203         /// </summary>
    204         /// <param name="connectionString"></param>
    205         /// <param name="databaseName"></param>
    206         /// <param name="collectionName"></param>
    207         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    208         /// <returns></returns>
    209         public static SafeModeResult DeleteAll(string connectionString, string databaseName, string collectionName, IMongoQuery query)
    210         {
    211             MongoServer server = MongoServer.Create(connectionString);
    212             //获取数据库或者创建数据库(不存在的话)。
    213             MongoDatabase database = server.GetDatabase(databaseName);
    214             SafeModeResult result;
    215             using (server.RequestStart(database))//开始连接数据库。
    216             {
    217                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
    218                 if (null == query)
    219                 {
    220                     result = myCollection.RemoveAll();
    221                 }
    222                 else
    223                 {
    224                     result = myCollection.Remove(query);
    225                 }
    226             }
    227             return result;
    228         }
    229         #endregion
    230         #region 获取单条信息
    231         public static T GetOne<T>(string collectionName, string _id)
    232         {
    233             return MongoDBHelper.GetOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, _id);
    234         }
    235         public static T GetOne<T>(string connectionString, string databaseName, string collectionName, string _id)
    236         {
    237             T result = default(T);
    238             ObjectId id;
    239             if (!ObjectId.TryParse(_id, out id))
    240             {
    241                 return default(T);
    242             }
    243             MongoServer server = MongoServer.Create(connectionString);
    244             //获取数据库或者创建数据库(不存在的话)。
    245             MongoDatabase database = server.GetDatabase(databaseName);
    246             using (server.RequestStart(database))//开始连接数据库。
    247             {
    248                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
    249                 result = myCollection.FindOneAs<T>(Query.EQ("_id", id));
    250             }
    251             return result;
    252         }
    253         /// <summary>
    254         /// 
    255         /// </summary>
    256         /// <typeparam name="T"></typeparam>
    257         /// <param name="collectionName"></param>
    258         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    259         /// <returns></returns>
    260         public static T GetOne<T>(string collectionName, IMongoQuery query)
    261         {
    262             return GetOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query);
    263         }
    264         /// <summary>
    265         /// 
    266         /// </summary>
    267         /// <typeparam name="T"></typeparam>
    268         /// <param name="connectionString"></param>
    269         /// <param name="databaseName"></param>
    270         /// <param name="collectionName"></param>
    271         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    272         /// <returns></returns>
    273         public static T GetOne<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query)
    274         {
    275             MongoServer server = MongoServer.Create(connectionString);
    276             //获取数据库或者创建数据库(不存在的话)。
    277             MongoDatabase database = server.GetDatabase(databaseName);
    278             T result = default(T);
    279             using (server.RequestStart(database))//开始连接数据库。
    280             {
    281                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
    282                 if (null == query)
    283                 {
    284                     result = myCollection.FindOneAs<T>();
    285                 }
    286                 else
    287                 {
    288                     result = myCollection.FindOneAs<T>(query);
    289                 }
    290             }
    291             return result;
    292         }
    293         #endregion
    294         #region 获取多个
    295         public static List<T> GetAll<T>(string collectionName)
    296         {
    297             return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName);
    298         }
    299         /// <summary>
    300         /// 如果不清楚具体的数量,一般不要用这个函数。
    301         /// </summary>
    302         /// <typeparam name="T"></typeparam>
    303         /// <param name="collectionName"></param>
    304         /// <returns></returns>
    305         public static List<T> GetAll<T>(string connectionString, string databaseName, string collectionName)
    306         {
    307             MongoServer server = MongoServer.Create(connectionString);
    308             //获取数据库或者创建数据库(不存在的话)。
    309             MongoDatabase database = server.GetDatabase(databaseName);
    310             List<T> result = new List<T>();
    311             using (server.RequestStart(database))//开始连接数据库。
    312             {
    313                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
    314                 foreach (T entity in myCollection.FindAllAs<T>())
    315                 {
    316                     result.Add(entity);
    317                 }
    318             }
    319             return result;
    320         }
    321         public static List<T> GetAll<T>(string collectionName, int count)
    322         {
    323             return MongoDBHelper.GetAll<T>(collectionName, count, null, null);
    324         }
    325         /// <summary>
    326         /// 
    327         /// </summary>
    328         /// <typeparam name="T"></typeparam>
    329         /// <param name="collectionName"></param>
    330         /// <param name="count"></param>
    331         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    332         /// <returns></returns>
    333         public static List<T> GetAll<T>(string collectionName, int count, IMongoQuery query)
    334         {
    335             return MongoDBHelper.GetAll<T>(collectionName, count, query, null);
    336         }
    337         /// <summary>
    338         /// 
    339         /// </summary>
    340         /// <typeparam name="T"></typeparam>
    341         /// <param name="collectionName"></param>
    342         /// <param name="count"></param>
    343         /// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
    344         /// <returns></returns>
    345         public static List<T> GetAll<T>(string collectionName, int count, IMongoSortBy sortBy)
    346         {
    347             return MongoDBHelper.GetAll<T>(collectionName, count, null, sortBy);
    348         }
    349         /// <summary>
    350         /// 
    351         /// </summary>
    352         /// <typeparam name="T"></typeparam>
    353         /// <param name="collectionName"></param>
    354         /// <param name="count"></param>
    355         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    356         /// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
    357         /// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
    358         /// <returns></returns>
    359         public static List<T> GetAll<T>(string collectionName, int count, IMongoQuery query, IMongoSortBy sortBy, params string[] fields)
    360         {
    361             var page = 1;
    362             var pageSize = count;
    363             return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, sortBy, fields);
    364         }
    365         /// <summary>
    366         /// 
    367         /// </summary>
    368         /// <typeparam name="T"></typeparam>
    369         /// <param name="collectionName"></param>
    370         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    371         /// <param name="pagerInfo"></param>
    372         /// <returns></returns>
    373         public static List<T> GetAll<T>(string collectionName, IMongoQuery query, int page, int pageSize)
    374         {
    375             return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, null);
    376         }
    377         /// <summary>
    378         /// 
    379         /// </summary>
    380         /// <typeparam name="T"></typeparam>
    381         /// <param name="collectionName"></param>
    382         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    383         /// <param name="pagerInfo"></param>
    384         /// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
    385         /// <returns></returns>
    386         public static List<T> GetAll<T>(string collectionName, IMongoQuery query, int page, int pageSize, IMongoSortBy sortBy)
    387         {
    388             return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, sortBy);
    389         }
    390         /// <summary>
    391         /// 
    392         /// </summary>
    393         /// <typeparam name="T"></typeparam>
    394         /// <param name="collectionName"></param>
    395         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    396         /// <param name="pagerInfo"></param>
    397         /// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
    398         /// <returns></returns>
    399         public static List<T> GetAll<T>(string collectionName, IMongoQuery query, int page, int pageSize, params string[] fields)
    400         {
    401             return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, null, fields);
    402         }
    403         /// <summary>
    404         /// 
    405         /// </summary>
    406         /// <typeparam name="T"></typeparam>
    407         /// <param name="collectionName"></param>
    408         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    409         /// <param name="pagerInfo"></param>
    410         /// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
    411         /// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
    412         /// <returns></returns>
    413         public static List<T> GetAll<T>(string collectionName, IMongoQuery query, int page, int pageSize, IMongoSortBy sortBy, params string[] fields)
    414         {
    415             return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, sortBy, fields);
    416         }
    417         /// <summary>
    418         /// 
    419         /// </summary>
    420         /// <typeparam name="T"></typeparam>
    421         /// <param name="connectionString"></param>
    422         /// <param name="databaseName"></param>
    423         /// <param name="collectionName"></param>
    424         /// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
    425         /// <param name="pagerInfo"></param>
    426         /// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
    427         /// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
    428         /// <returns></returns>
    429         public static List<T> GetAll<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query, int page, int pageSize, IMongoSortBy sortBy, params string[] fields)
    430         {
    431             MongoServer server = MongoServer.Create(connectionString);
    432             //获取数据库或者创建数据库(不存在的话)。
    433             MongoDatabase database = server.GetDatabase(databaseName);
    434             List<T> result = new List<T>();
    435             using (server.RequestStart(database))//开始连接数据库。
    436             {
    437                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
    438                 MongoCursor<T> myCursor;
    439                 if (null == query)
    440                 {
    441                     myCursor = myCollection.FindAllAs<T>();
    442                 }
    443                 else
    444                 {
    445                     myCursor = myCollection.FindAs<T>(query);
    446                 }
    447                 if (null != sortBy)
    448                 {
    449                     myCursor.SetSortOrder(sortBy);
    450                 }
    451                 if (null != fields)
    452                 {
    453                     myCursor.SetFields(fields);
    454                 }
    455                 foreach (T entity in myCursor.SetSkip((page - 1) * pageSize).SetLimit(pageSize))//.SetSkip(100).SetLimit(10)是指读取第一百条后的10条数据。
    456                 {
    457                     result.Add(entity);
    458                 }
    459             }
    460             return result;
    461         }
    462         #endregion
    463         #region 索引
    464         public static void CreateIndex(string collectionName, params string[] keyNames)
    465         {
    466             MongoDBHelper.CreateIndex(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, keyNames);
    467         }
    468         public static void CreateIndex(string connectionString, string databaseName, string collectionName, params string[] keyNames)
    469         {
    470             SafeModeResult result = null;// new SafeModeResult();
    471             if (null == keyNames)
    472             {
    473                 return;
    474             }
    475             MongoServer server = MongoServer.Create(connectionString);
    476             //获取数据库或者创建数据库(不存在的话)。
    477             MongoDatabase database = server.GetDatabase(databaseName);
    478             using (server.RequestStart(database))//开始连接数据库。
    479             {
    480                 MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
    481                 if (!myCollection.IndexExists(keyNames))
    482                 {
    483                     myCollection.EnsureIndex(keyNames);
    484                 }
    485             }
    486         }
    487         #endregion
    488     }
    489 }
  • 相关阅读:
    内置方法(item系列、__str__方法、__del__方法)
    POJ3436
    CF551B
    HDU1588
    HDU3117
    CF834D
    CF832D
    CF832C
    POJ1930
    POJ3666
  • 原文地址:https://www.cnblogs.com/xishuqingchun/p/4962082.html
Copyright © 2020-2023  润新知