nodejs教程之制作一个简单的文章发布系统(5)


var mongodb = require('./db');
function News(title, content, pic) {
  this.title = title;
  this.content = content;
  this.pic = pic;//保存存储路径
};
module.exports = News;
//存储数据
News.prototype = {
  save: function (callback) {
    var date = new Date();
    //数据存储对象
    var news = {
      title: this.title,
      content: this.content,
      pic: this.pic, //图片处理最后来说,现在先乱存
      date: date
    };
    //打开数据连接,打开就是一个回调......
    mongodb.open(function (err, db) {
      //错误就退出
      if (err) {
        return callback(err);
      }
      //打开news集合
      db.collection('news', function (err, collection) {
        if (err) {
          mongodb.close();
          return callback(err);
        }
        //写入集合(写入数据库)
        collection.insert(news, { safe: true }, function (err) {
          return callback(err);
        });
        callback(null); //err为null
      });
    });
  }
};
//读取文章及其相关信息
News.get = function (id, callback) {
  //打开数据库
  mongodb.open(function (err, db) {
    if (err) {
      return callback(err);
    }
    db.collection('news', function (err, collection) {
      if (err) {
        mongodb.close();
        return callback(err);
      }
      var query = {};
      if (id) {
        query.id = id;
      }
      //根据 query 对象查询文章
      collection.find(query).sort({
        date: -1
      }).toArray(function (err, data) {
        mongodb.close();
        if (err) {
          return callback(err); //失败!返回 err
        }
        callback(null, data); //成功!以数组形式返回查询的结果
      });
    });
  });
};
news.js

复制代码 代码如下:


<!DOCTYPE html>
<html>
<head>
    <title>
        <%= title %></title>
    <link href='https://www.jb51.net/stylesheets/style.css' />
</head>
<body>
    <h1>
        <%= title %></h1>
    <ul>
        <%for(var k in data) { %>
        <li>
            <div>
               标题: <%=data[k].title %></div>
            <div>
              内容:  <%=data[k].content%></div>
              <div>
              附件:<img src="news/<%= data[k].pic%>" /></div>
              </div>
              <div>
              <a href="/delete?id=<%=data[k] %>">删除</a>
              </div>
              <hr/>
        </li>
        <%} %>
    </ul>
</body>
</html>

nodejs教程之制作一个简单的文章发布系统

结语

好了,文章发布系统的制作就先到这里了,以后我们再慢慢增加功能,慢慢做美化。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgswpf.html