多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 互聯(lián)網(wǎng) > Node.js 博客實例(十)pv統(tǒng)計和留言統(tǒng)計

Node.js 博客實例(十)pv統(tǒng)計和留言統(tǒng)計

來源:程序員人生   發(fā)布時間:2014-09-09 03:50:30 閱讀次數(shù):2258次

原教程 https://github.com/nswbmw/N-blog/wiki/_pages的第十章,由于版本等的原因,在原教程基礎(chǔ)上稍加改動即可實現(xiàn)。

post.js中將var post={...}修改為(每次改動此處之后都要將e:/mongodb/blog/清空):

//要存入數(shù)據(jù)庫的文檔 var post = { name: this.name, time: time, title: this.title, post: this.post, tags:this.tags, comments:[], pv:0 };
     我們給要存儲的文檔添加了 pv 鍵并直接賦初值為 0。
繼續(xù)將post.js中的Post.getOne()修改為:

//獲取一篇文章 Post.getOne = function(name, day, title, callback) { //打開數(shù)據(jù)庫 mongodb.open(function (err, db) { if (err) { return callback(err); } //讀取 posts 集合 db.collection('posts', function (err, collection) { if (err) { mongodb.close(); return callback(err); } //根據(jù)用戶名、發(fā)表日期及文章名進行查詢 collection.findOne({ "name": name, "time.day": day, "title": title }, function (err, doc) { if (err) { mongodb.close(); return callback(err); } //解析 markdown 為 html if (doc) { collection.update({ "name":name, "time.day":day, "title":title },{$inc:{"pv":1} },function(err){ mongodb.close(); if(err) return callback(err); } ); doc.post=markdown.toHTML(doc.post); doc.comments.forEach(function (comment) { comment.content = markdown.toHTML(comment.content); }); } callback(null, doc);//返回查詢的一篇文章 }); }); }); };
這里注意:collection.findOne({
"name": name,
"time.day": day,
"title": title
}, function (err, doc) {

if (err) {
mongodb.close();
return callback(err);
}
     這里mongodb.close();一定要放到if里面,否則會報錯:

throw new Error('Can't set headers after they are sent.');
Error: Can't set headers after they are sent.

原因是NODEJS異步機制,下面還有一個mongodb.close()會執(zhí)行,兩個異步同時執(zhí)行就會出錯;。

修改 index.ejs 、user.ejs 及 article.ejs ,在:<p><%- post.post %></p>下一行添加一行代碼:

<p class="info">閱讀:<%= post.pv %> | 評論:<%= post.comments.length %></p>
     至此,文章就有了閱讀次數(shù)和評論次數(shù)的展示:



生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲swag精品自拍一区 | 午夜影院福利 | 婷婷五月在线视频 | 99综合网| 亚洲婷婷影院 | 欧美日韩一区二区三区四区在线观看 | 亚洲一区二区三区四区视频 | 欧美一级爱爱 | 欧美高清正版在线 | 欧美精品国产综合久久 | 欧美综合久久 | 4四虎44虎www在线影院麻豆 | 真人肉体一级毛片 | 欧美一级手机免费观看片 | japan色系videos强行 | 国产淫片 | 久久无码精品一区二区三区 | 欧美性最猛xxxx在线观看视频 | 亚洲成人在线视频观看 | 东北普通话清晰对白 | 久久精品亚洲欧美va | 国内精品久久影院 | 69视频在线观看高清免费 | 中文字幕乱码无线码在线 | 欧美精品成人 | 四虎永久免费网站入口2020 | 国产午夜精品不卡视频 | 亚洲精品成人一区二区aⅴ 亚洲精品成人在线 | 毛片免| 日本无卡码高清免费观看 | 国产精品久久久久影院色老大 | 欧美亚洲激情视频 | 亚洲观看视频 | 国产亚洲在线 | 欧美综合视频在线 | 超91在线 | 欧美一级毛片大片免费播放 | 97精品国产福利一区二区三区 | 日本中文字幕一区二区有码在线 | 九九久久99综合一区二区 | 香港aa三级久久三级不卡 |