MongoDB学习笔记~复杂条件拼接和正则的使用
2017-03-24 10:01
435 查看
在大叔lind框架里有日志组件logger,而在日志实现方式上有file,mongodb,sql,json等方式,对分布式日志处理上大叔推荐使用mongodb进行存储,除了它的高效写入,灵活的结构外,还有对复杂条件的支持,你可以从百万数据中查询到你需要的内容,这点是关系数据库不能实现的,你无法想法使用like这种语句是百万数据中全表扫描...
大叔日志管理UI
对多个检索条件的支持
条件创建者
初者化空条件
条件拼接
然后页面上直接放表表格即可,建议通过bootstrap进行布局,这样有移动设备上也可以使用!
感谢各位的阅读!
大叔日志管理UI
对多个检索条件的支持
条件创建者
初者化空条件
条件拼接
NameValueCollection nv = new NameValueCollection(); var builder = Builders<GlobalLogger>.Filter; var filter = builder.Empty; if (!string.IsNullOrWhiteSpace(level) && level != "All") { filter = builder.Eq("level", level); nv.Add("level", level); } if (startTime.HasValue) { filter = filter & builder.Gte("DataCreateDateTime", startTime.Value); nv.Add("startTime", startTime.Value.ToString()); } if (endTime.HasValue) { filter = filter & builder.Lte("DataCreateDateTime", endTime.Value); nv.Add("endTime", endTime.Value.ToString()); } if (!string.IsNullOrWhiteSpace(keyword)) { filter = filter & builder.Regex("Message", new BsonRegularExpression(new Regex(keyword))); nv.Add("keyword", keyword); } int pageSize = 10; nv.Add("pageSize", pageSize.ToString()); int skip = (int)Math.Ceiling((double)((page - 1) * pageSize)); var table = Lind.DDD.MongoDbClient.MongoManager<GlobalLogger>.Instance .Find(filter) .SortBy(i => i.DataCreateDateTime); ViewBag.total = table.Count(); ViewBag.nv = nv; var model = table.Skip(skip) .Limit(pageSize) .ToList(); return View(model);
然后页面上直接放表表格即可,建议通过bootstrap进行布局,这样有移动设备上也可以使用!
感谢各位的阅读!
相关文章推荐
- MongoDB学习之复杂条件拼接和正则详解
- glib学习笔记 - 使用正则表达式
- 31天重构学习笔记31. 使用多态代替条件判断
- MongoDB学习笔记【4】-- MongoDB Java驱动使用
- MongoDB的使用学习之(六)MongoDB的高级查询之条件操作符
- 31天重构学习笔记31. 使用多态代替条件判断
- mongoDB学习笔记3--python下使用
- mongodb_查询操作使用_条件查询、where子句等(转并学习)
- IOS学习笔记32—使用Storyboard实现复杂界面
- 31天重构学习笔记31. 使用多态代替条件判断
- MongoDB 学习笔记(三)—— 修改器的使用
- (学习笔记)简单正则表达式的使用实例[javascript]
- Castle学习笔记----使用HQL语句实现复杂查询
- IOS学习笔记32—使用Storyboard实现复杂界面
- 31 天重构学习笔记31. 使用多态代替条件判断
- Entity Framwork CodeFirst 学习笔记三:使用复杂类型
- 31天重构学习笔记31. 使用多态代替条件判断
- accp6.0 《使用javascript增强交互效果》学习笔记ch7 正则表达式和表单辅助特效
- OS学习笔记32—使用Storyboard实现复杂界面
- 31天重构学习笔记18. 使用条件判断代替异常