美文网首页
使用Sequelize搭建在线便利贴后台数据库

使用Sequelize搭建在线便利贴后台数据库

作者: 汤初景 | 来源:发表于2018-06-02 12:29 被阅读0次

1.在根目录下建立models和database文件夹,model内创建note.js,用于数据库的模型,database用于存放数据库

var Sequelize = require('sequelize');
var path = require('path')
var sequelize = new Sequelize(undefined, undefined, undefined, {
  host: 'localhost',
  dialect: 'sqlite',
  storage: path.join(__dirname,'../database/database.sqlite')
});

var Note = sequelize.define('note', {
  text: {
    type: Sequelize.STRING
  }
});

/* 
用于判断是否连接数据库 运行 node note.js
sequelize
  .authenticate()
  .then(() => {
    console.log('Connection has been established successfully.');
  })
  .catch(err => {
    console.error('Unable to connect to the database:', err);
  });
  */

/* 
数据库的操作
Note.sync().then(function(){
  Note.create({text: 'hello tyy'});
}).then(function(){
  Note.findAll({raw: true}).then(function(notes){
    console.log(notes)
})})

Note.findAll({raw: true,where:{id:2}}).then(function(notes){
  console.log(notes)
})
*/
module.exports.Note = Note;

在路由中将具体的路由抽离如下

var express = require('express');
var router = express.Router();
var Note = require('../model/note').Note

/* GET users listing. */


// 1.获取所有的note: GET:  /api/notes   req: {}  res: {stauts: 0, data: [{note1},{note2},{note3}]}     {status: 1, errMsg: '失败的原因'}
// 2.创建一个note: POST:  /api/note/add   req: {note: 'hello tyy'}   res: {status :0}   {status: 1, errMsg: '失败的原因'}
// 3.修改一个note: POST:  /api/note/edit    req: {note: 'new note', id: 101}
// 4.删除一个note: post:  /api/note/delete   req: {id: 101}
router.get('/notes', function(req, res, next) {
  Note.findAll({raw: true}).then(function(notes){
    console.log('---------------:'+notes)
      res.send({status: 0,data:notes})
  })
});

router.post('/notes/add', function(req, res, next){
  var note = req.body.note;
  Note.create({text:note}).then(function(){
    res.send({status: 0})
  }).catch(function(){
    res.send({status: 1,errorMsg:'数据库出错'
    })
  })
})

router.post('/notes/edit', function(req, res, next){
  Note.update({text: req.body.note},{where:{id:req.body.id}}).then(function(){
    res.send({status: 0})
  })
})

router.post('/notes/delete', function(req, res, next){
  Note.destroy({where:{id:req.body.id}}).then(function(){
    res.send({status: 0})
  })
})

module.exports = router;

Sequelize中文文档

相关文章

网友评论

      本文标题:使用Sequelize搭建在线便利贴后台数据库

      本文链接:https://www.haomeiwen.com/subject/ifaksftx.html