日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c# mongodb or查询_C# 查询MongoDB中的数据

發布時間:2025/3/19 C# 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c# mongodb or查询_C# 查询MongoDB中的数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 usingMongoDB.Bson;2 usingMongoDB.Driver;3 usingSystem.Collections.Generic;4

5 namespaceMongoDB6 {7 ///

8 ///MongoDB服務類9 ///

10 public sealed classMongoDBServer11 {12 #region 字段屬性

13 private string _connectionString = "";14 private string _databaseName = "";15

16 ///

17 ///連接字符串18 ///

19 public string ConnectionString { get { return_connectionString; } }20

21 ///

22 ///數據庫名稱23 ///

24 public string DatabaseName { get { return_databaseName; } }25

26 //數據庫對象

27 privateIMongoDatabase _database;28 #endregion

29

30 #region 構造函數

31 ///

32 ///使用連接字符串構造一個MongoDB服務類33 ///

34 /// 連接字符串;格式:mongodb://用戶名:密碼@ip:端口/數據庫;樣例:mongodb://kyeuser:test12345678@127.0.0.1:5001/TestLogs

35 public MongoDBServer(stringconnectionString)36 {37 _connectionString =connectionString;38 var mongoUrl = newMongoUrlBuilder(connectionString);39 //獲取數據庫名稱

40 _databaseName =mongoUrl.DatabaseName;41 //創建并實例化客戶端

42 var _client = newMongoClient(mongoUrl.ToMongoUrl());43 //根據數據庫名稱實例化數據庫

44 _database =_client.GetDatabase(_databaseName);45 }46 #endregion

47

48 #region 根據集合名稱獲取集合

49 ///

50 ///根據集合名稱獲取集合51 ///

52 ///

53 ///

54 private IMongoCollection GetCollection(stringcollectionName)55 {56 return _database.GetCollection(collectionName);57 }58 #endregion

59

60 #region 生成過濾條件

61 ///

62 ///生成過濾條件63 ///

64 /// 過濾條件

65 /// 是否是And過濾條件

66 ///

67 private FilterDefinition GenerateFilter(List filterList, boolisAndFilter)68 {69 if (null == filterList || 0 ==filterList.Count)70 {71 return FilterDefinition.Empty;72 }73 var filterBuilder = Builders.Filter;74 List> tempFilterList = new List>();75 foreach (var item infilterList)76 {77 FilterDefinition filter = FilterDefinition.Empty;78 switch(item.Operator)79 {80 caseOperatorEnum.Eq:81 filter =filterBuilder.Eq(item.Name, item.Value);82 break;83 caseOperatorEnum.Lt:84 filter =filterBuilder.Lt(item.Name, item.Value);85 break;86 caseOperatorEnum.Lte:87 filter =filterBuilder.Lte(item.Name, item.Value);88 break;89 caseOperatorEnum.Gt:90 filter =filterBuilder.Gt(item.Name, item.Value);91 break;92 caseOperatorEnum.Gte:93 filter =filterBuilder.Gte(item.Name, item.Value);94 break;95 caseOperatorEnum.Ne:96 filter =filterBuilder.Ne(item.Name, item.Value);97 break;98 caseOperatorEnum.Like:99 filter = filterBuilder.Regex(item.Name, new BsonRegularExpression(string.Format("/{0}/m{1}", item.Value, item.IsOrdinalIgnoreCase ? "i" : "")));100 break;101 }102 tempFilterList.Add(filter);103 }104 if(isAndFilter)105 {106 returnfilterBuilder.And(tempFilterList);107 }108 returnfilterBuilder.Or(tempFilterList);109 }110 #endregion

111

112 #region 生成排序

113 ///

114 ///生成排序115 ///

116 /// 排序

117 ///

118 private SortDefinitionGenerateSort(MongoDBOrderBy orderBy)119 {120 if (null ==orderBy)121 {122 return null;123 }124 var sortBuilder = Builders.Sort;125 if (orderBy.OrderBy == 0)126 {127 returnsortBuilder.Ascending(orderBy.Column);128 }129 returnsortBuilder.Descending(orderBy.Column);130 }131 #endregion

132

133 #region 獲取數據量

134 ///

135 ///根據集合名稱獲取總數據量136 ///

137 /// 集合名稱

138 ///

139 public long GetCount(stringcollectionName)140 {141 return GetCount(collectionName, null, null);142 }143

144 ///

145 ///根據集合名稱獲取總數據量146 ///

147 /// 集合名稱

148 /// and過濾條件

149 ///

150 public long GetCount(string collectionName, ListandFilterList)151 {152 return GetCount(collectionName, andFilterList, null);153 }154

155 ///

156 ///根據集合名稱獲取總數據量157 ///

158 /// 集合名稱

159 /// and過濾條件

160 /// or過濾條件

161 ///

162 public long GetCount(string collectionName, List andFilterList, ListanyFilterList)163 {164 FilterDefinition andFilter = this.GenerateFilter(andFilterList, true);165 FilterDefinition anyFilter = this.GenerateFilter(anyFilterList, false);166 var allFilter = andFilter &anyFilter;167 return GetCollection(collectionName).Find(allFilter).CountDocuments();168 }169 #endregion

170

171 #region 獲取集合數據

172 ///

173 ///根據集合名稱獲取集合中的數據174 ///

175 /// 集合名稱

176 /// and過濾條件

177 /// or過濾條件

178 /// 排序列

179 /// 排序方式(desc | asc)

180 /// 當前頁

181 /// 一頁顯示多少條

182 ///

183 public List GetList(string collectionName, List andFilterList, List anyFilterList, MongoDBOrderBy orderBy, int pageIndex, intpageSize)184 {185 //生成過濾條件

186 FilterDefinition andFilter = this.GenerateFilter(andFilterList, true);187 FilterDefinition anyFilter = this.GenerateFilter(andFilterList, false);188 var allFilter = andFilter &anyFilter;189

190 //生成排序

191 SortDefinition sort = this.GenerateSort(orderBy);192

193 List mongoDataList = null;194 if (null ==sort)195 {196 //不需要排序

197 mongoDataList = GetCollection(collectionName).Find(allFilter).Skip(pageSize * (pageIndex - 1)).Limit(pageSize).ToList();198

199 }200 else

201 {202 //要排序

203 mongoDataList = GetCollection(collectionName).Find(allFilter).Sort(sort).Skip(pageSize * (pageIndex - 1)).Limit(pageSize).ToList();204 }205 if (null == mongoDataList || mongoDataList.Count < 1)206 {207 return null;208 }209 returnmongoDataList;210 }211 #endregion

212 }213 }

總結

以上是生活随笔為你收集整理的c# mongodb or查询_C# 查询MongoDB中的数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区网站 | 欧美日韩精品在线视频 | 欧美日韩免费高清 | 国产在线h | 中国极品少妇videossexhd 就要干就要操 | 极品人妻videosss人妻 | 国产日韩免费 | av动漫在线免费观看 | 日本在线视频中文字幕 | 日韩精品视 | 99精品中文字幕 | av一级黄色 | 久久一级黄色片 | 中文写幕一区二区三区免费观成熟 | 精品欧美视频 | 欧美aaaaaaa | 久久精品免费观看 | 国产精品7777 | 蜜乳av一区二区 | 日韩中文免费 | 91素人约啪 | 欧美在线视频网 | 激情成人综合网 | 欧美一区三区三区高中清蜜桃 | 干一夜综合 | 欧美特级黄色大片 | 女同毛片一区二区三区 | 亚洲男人天堂电影 | 一区二区三区午夜 | 天堂av中文在线观看 | 欧产日产国产精品 | 不许穿内裤随时挨c调教h苏绵 | 粉嫩av一区二区 | 成人在线激情网 | 国产乱码精品一区二区三 | 88av在线播放| 五月婷婷综合在线 | 欧美大片黄色 | 91在线观看视频网站 | 播色屋| 91n在线观看 | 亚洲视频导航 | 精品人妻一区二区三区日产 | 日韩人妻无码一区二区三区 | www.天天操 | 在线视频麻豆 | 美国一级特黄 | 亚洲综合不卡 | 一级黄色片欧美 | 成年人在线观看视频 | 一区二区久久精品66国产精品 | 亚洲精品国产精品国 | 91美女片黄在线观看游戏 | 一个色综合导航 | 欧美丰满少妇 | av在线等| 日韩欧美一区在线观看 | 搞中出| 亚洲乱码一区二区三区 | 在线精品免费视频 | 看黄网站在线观看 | 国产美女无遮挡免费 | 天堂网男人| 久久在线中文字幕 | 国产精品久久久久久久一区探花 | 羞羞答答一区 | 男人插女人的网站 | 青娱乐国产在线视频 | 少妇太爽了在线观看 | 免费成人深夜夜行网站视频 | 五月婷婷免费视频 | 国产一区啪啪 | 三级国产三级在线 | a级黄色网址| 播播成人网 | 亚洲精品免费在线视频 | 美国黄色片网站 | 精品在线第一页 | 玖玖视频在线 | 欧美第一精品 | 亚洲va天堂va国产va久 | 日韩干| 中文字幕97 | 超碰69| 丰满人妻一区二区三区53号 | 久久成人国产 | 校园春色亚洲色图 | 欧美精品一区二区不卡 | 国产视频二 | 国产精品黄网站 | 日韩av高清在线观看 | 波多野吉衣一区二区 | 在线日韩中文字幕 | 男人桶女人桶爽30分钟 | 久草精品视频在线观看 | 欧洲一级片 | 亚洲码视频 | 葵司av在线| www.国产在线视频 |