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

Posted Yuity

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的blog系统 增加pv统计和留言统计相关的知识,希望对你有一定的参考价值。

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统计和留言统计。

如下代码:

 

以上是关于一个简单的blog系统 增加pv统计和留言统计的主要内容,如果未能解决你的问题,请参考以下文章

网站流量统计之PV和UV

一个简单的blog系统(十四) 增加用户头像

网站pv uv统计

实时统计每天pv,uv的sparkStreaming结合redis结果存入mysql供前端展示

优雅快速的统计千万级别uv

程序员修仙之路--优雅快速的统计千万级别uv