【Go web开发之revel+mgo】第9章 其它和??
来源:互联网 发布:淘宝免费推广 编辑:程序博客网 时间:2024/06/10 04:44
做到这里其实可以说教程已经基本完结了。
但是,还记得我们首页Home右上角那个提醒了吗?这一章我们就来做一下这个东西。
它提醒的是最近1小时内有更新。那么首先我们的blog.go里面应该有一个按照时间查询的方法。
好,打开blog.go添加方法:
func (dao *Dao) FindBlogsByDate(start time.Time) int{blogCollection := dao.session.DB(DbName).C(BlogCollection)query := blogCollection.Find(bson.M{"cdate":bson.M{"$gte": start}})cnt,err := query.Count();if err!=nil{revel.WARN.Printf("Unable to Count blog: error %v", err)}return cnt}
注意,mgo的find方法里面,我们嵌套了两个bson.M,第一个很好理解,第二个里面的$gte是什么呢?大于等于(>=)恩,没错,mgo还有其它的操作,大家如果有需要就去找一找(话说 ,博主为了找到这个,可是费了一番时间的),最后这个方法只是返回一个统计而已,对啊,我们只需要这样就够了。
在controllers/app.go的Index方法里面,修改一下:
func (c App) Index() revel.Result {dao, err := models.NewDao()if err != nil {c.Response.Status = 500return c.RenderError(err)}defer dao.Close()//dao := models.NewDao(c.MongoSession)blogs := dao.FindBlogs()now := time.Now().Add(-1 * time.Hour)recentCnt :=dao.FindBlogsByDate(now);return c.Render(blogs,recentCnt)}
我们在最后加了点时间处理的东西,对,当前时间减去1小时,就是我们想要的结果 。不要忘了在import里面加入我们的time包
好,打开views下的header.html将里面的:
<li class="{{.home}}"> <a href="/" >Home</a> <span class="navbar-news " title="最近1小时有1个更新">1</span> </li>
修改为:
<li class="{{.home}}"> <a href="/" >Home</a> {{if .recentCnt}} {{if gt .recentCnt 0}} <span class="navbar-news " title="最近1小时有{{.recentCnt}}个更新">{{.recentCnt}}</span> {{end}} {{end}} </li>
ok,赶快试试把。
最后,这里说一下,最后的RSS,暂时就不做了,我还不知到具体怎么做,去看了golang.usr的订阅,就只是一个xml的页面,这个不是我想要的,先这样把。
源码地址:https://github.com/joveth/GBlog
交流QQ:158325682
0 0
- 【Go web开发之revel+mgo】第9章 其它和??
- 【Go web开发之revel+mgo】第10章 总结
- 【Go web开发之revel+mgo】第1章 述与环境
- 【Go web开发之revel+mgo】第2章 Blog的首页与投稿设计
- 【Go web开发之revel+mgo】第3章 Blog的首页与投稿实现
- 【Go web开发之revel+mgo】第4章 实现评论功能
- 【Go web开发之revel+mgo】第5章 样式与留言板的设计
- 【Go web开发之revel+mgo】第6章 实现留言板功能
- 【Go web开发之revel+mgo】第7章 实现归档
- 【Go web开发之revel+mgo】第8章 实现Email墙
- 【Go web开发之revel+mgo】第11章 部署到heroku上
- Go web开发之revel+mgo的预备知识
- 安装go语言web框架revel
- 使用Revel(go)开发网站
- go revel框架搭建
- Web开发其它技巧和经验列表
- Web开发其它技巧和经验列表
- Go语言revel环境搭建
- 堆排序
- 线下品牌商必看,如何让自己穿上网络的嫁衣
- python异常
- 网狐棋牌源代码升级到VS2012遇到的LNK1179问题
- java 加密解密
- 【Go web开发之revel+mgo】第9章 其它和??
- MainActivity 访问 fragment_main.xml 中的组件 空指针
- 点击不在这个区域部分,div消失,jquery代码 - hiding an element on click of anything else on the page
- 2014-04-26 求和为N+1(微软面试题)
- c++排序系列之插入排序
- 关于java中String的一点理解
- OpenCV实现Gabor滤波(2)
- codeigniter源代码分析之CI系统运行流程 CodeIgniter.php
- CC_6_智力题