NodeJS ORM 框架 Sequelize

a year

上一篇文章 NodeJS Mysql 使用体验,主要是 NodeJS 和 MySQL 连接,以及查询异步回调的问题,使用中还是会要写很多 MySQL 查询语句,相对而言还是比较麻烦。

NodeJS ORM 框架 Sequelize 可以少写很多 MySQL 查询语句,关注中心主要是 model

建立模型

比如 文章模型 postModel.js

export default {
  id: {
    'type': 'int(11)',
    'allowNull': false,
    'primaryKey': true,
    'autoIncrement': true,
    'comment': null 
  },
  title: {
    'type': 'text',
    'allowNull': false,
    'primaryKey': false,
    'comment': null
  },
  content: {
    'type': 'longtext',
    'allowNull': false,
    'primaryKey': false,
    'comment': null
  }
}

操作数据库

import Sequelize from sequelize
import config from './config.js'
import postModel from './postModel.js'

// Sequelize 连接数据库
const sequelize = new Sequelize(config.database, config.username, config.password, config.options)

// 定义 post 表
const Post = sequelize.define('post', postModel)

// 第一次使用 sync 会新建不存在的 post 表
Post.sync().success(function() {
  // 新建一篇文章
  Post.create({
    title: 'First post',
    content: 'Hello world.'
  }).done(function(err, post) {
    console.log(err)
    console.log(post)
  })
}).error(function(err) {
  console.log(err)
})

检索方法

// 检索满足条件文章
Post.findAll({
  where: {
    title: 'First post'
  }
})

// 按 id 检索
Post.findById()

// 只检索一篇文章
Post.findOne()

// 满足条件文章数量
Post.count()

// 更新
Post.update({
'title': 'Second post'
})

// 删除
Post.destroy()

本文只涉及一些基础,当然你也可以使用自己编写的 MySQL 查询语句,来满足特殊的使用场景。

  • rome 3月前

    喜欢你的Lovephoto主题

  • Balthild a year

    看起来还不错

  • Ariane a year

    看起来好像很方便

  • 孙华 a year

  • M.J a year

    6666,叼叼哒~~~~

  • kaikai a year

    博主现在的博客是用NodeJS做的吗

  • 好书推荐 a year

    进来看看

  • Scott Ju a year

    你这个ajax评论太帅了。。。

  • Scott Ju a year

    沐风你这真的是前端博客嘛?怎么感觉是顶端技术博客。多讲点前端知识让我这个小菜鸟学习呀。

  • h a year

    博主,请问贵站的文章摘要是如何实现的