一个简单的blog系统(十) 增加pv统计和留言统计

本文介绍如何在博客系统中实现每篇文章的访问量(PV)统计和留言数量统计功能,通过修改post.js文件和Post.getOne()方法,并在主页、用户页和文章页展示这些统计数据。

1. 现在我们来给每篇文章增加pv统计和留言统计功能。

  假设:在主页、用户也和文章页均可以显示pv统计和留言统计

首先,打开post.js,修改代码如下所示:

//要存入数据库的文档
    var post = {
        name: this.name,
        time: time,
        title: this.title,
        post: this.post,
        tags: this.tags,
        comments: [],
        pv: 0
    };

然后,修改Post.getOne()为如下所示:

//获取一篇文章,根据用户名,发表日期以及文章名精确获取一篇文章
Post.getOne = function(name, day, title, callback) {
      //打开数据库
      mongodb.open(function (err, db) {
        if (err) {
              return callback(err);
        }
        //读取 posts 集合
        db.collection('posts', function (err, collection) {
              if (err) {
                   mongodb.close();
                return callback(err);
              }
              //根据用户名、发表日期及文章名进行查询
              collection.findOne({
                "name": name,
                "time.day": day,
                "title": title
              }, function (err, doc) {
                if (err) {
                      mongodb.close();
                      return callback(err);
                }
                if (doc) {
                  //每访问 1 次,pv 值增加 1
                      collection.update({
                        "name": name,
                        "time.day": day,
                        "title": title
                      }, {
                        $inc: {"pv": 1}
                      }, function (err) {
                        mongodb.close();
                        if (err) {
                              return callback(err);
                        }
                      });
                      //解析 markdown 为 html
                    doc.post = markdown.toHTML(doc.post);
                    doc.comments.forEach(function (comment) {
                    comment.content = markdown.toHTML(comment.content);
                    });
                    callback(null, doc);//返回查询的一篇文章
                }
              });
        });
      });
};

最后,修改index.ejs、user.ejs、article.ejs,在<p><%- post.post %>后面修改

<span class='glyphicon glyphicon-comment' style="padding:0 10px;">评论:<%= post.comments.length %></span>
<span class="glyphicon glyphicon-share-alt">阅读:<%= post.pv %></span>

至此,我们就给博客增加了pv统计和留言统计。

如下代码:

 

posted on 2016-03-21 22:31  Yuity 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/yuity/p/5304137.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值