一起学node.js源码中,如果想给发布的文章添加一个id,应该如何处理
发布于 11 年前 作者 mygod 5302 次浏览 最后一次编辑是 8 年前

一起学node.js源码中查找文章通过用户名,日期,和标题,感觉很繁琐,如果每篇文章都有一个id,自增的,则可以通过id来查找,方便了查找方式,而且可以缩短文章的路径,不知道这个问题如何解决,拜托各位大神给个解决办法

5 回复

没想到楼主亲自回复啊,受宠若惊,我是新手一直在认真看你的教程,非常感谢啊,不知道您方便留下除了邮箱之外更方便的联系方式吗,有些问题想请教您

@nswbmw126的邮箱插件,妹子提醒,这么高级啊

@nswbmw您当初写教程的时候没有用mongoose,对于我这样的菜鸟非常迷惑,因为不清楚用mongodb直接操作数据库和mongoose到底孰优孰劣,在什么情况下需要mongoose比较合适呢,mongoose需要定义数据模型,这样mongodb的灵活性还存在吗,期待您的解惑,非常感谢

Post.getOne = function(_id, allback) { //打开数据库 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 collection.findOne({ "_id": require(‘mongodb’).ObjectID(_id) }, function (err, doc) { mongodb.close(); if (err) { return callback(err); } //解析 markdown 为 html if(doc){ doc.post = markdown.toHTML(doc.post); doc.comments.forEach(function (comment) { comment.content = markdown.toHTML(comment.content); }); } callback(null, doc);//返回查询的一篇文章 }); }); }); };用这种方式查询一篇文章,错在什么地方,求大神指点

@nswbmw Post.getOne = function(_id, allback) { //打开数据库 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 collection.findOne({ "_id": require(‘mongodb’).ObjectID(_id) }, function (err, doc) { mongodb.close(); if (err) { return callback(err); } //解析 markdown 为 html if(doc){ doc.post = markdown.toHTML(doc.post); doc.comments.forEach(function (comment) { comment.content = markdown.toHTML(comment.content); }); } callback(null, doc);//返回查询的一篇文章 }); }); }); };用这种方式查询一篇文章,错在什么地方,求大神指点

回到顶部