• 连接数据库

 const DB = require('sequelize')
// 连接数据库
const connect = new DB('xjg', 'root', 'root', {
host: 'localhost',
port: '3306',
dialect: 'mysql',
timezone: '+08:00',
operatorsAliases: false
})
  • 测试是否连接成功

  • 定义模型(表)

  参数:1.表名 2.字段配置项 3.表配置项

timeStamps: true // 会在数据库中自动添加数据的创建时间贺修改时间
paranoid:true //开启软删除(就是数据不显示,但是还存在于数据库中)
  • 创建表

force: true // 前置同步(每次先删除表,再创建表)
  • 查询

  • 模型定义配置项
type: DB.STRING, //常用数据类型有:STRING,TEXT,INTEGER,DATE,BOOLEAN
allowNULL: false, //是否允许为空
defaultValue:‘’, //默认值-若(type:DB.BOOLEAN,则defaultValue:ture);若(type:DB.DATE,则defaultValue:DB.NOW)
unique: true, //单行,若为多行唯一,则值全部相同即可
primaryKey: true, //主键,若不写,则默认为id,且自增
autoIncrement: true, //自增,一个表自增字段只有一个
references: {
model:Bar, //另外一个表
key: 'id', // 与之关联的字段
}
  • 读取数据库中某字段的值:
this.getDataValue('id')或者直接 .id 或者get('id')
  • 改变字段的值,get () 、set ()

  • 使用模型(操作表)  
User.findById(123).then(pro => {})  //通过id查询
User.findOne({where:{title: 'ninhao'}}).then(pro => {}) //只查询满足条件的一条
User.findOne({where:{title: 'ninhao'},attributes: ['id','name','age']}).then(pro => {}) //限定字段查询
User.findOrCreate() // 先查找,如不在,则添加
User.create({name: '小小',age: 12}).then() //添加
User.findAll({limit:10, offset:10,order:'title DESC',raw:true}).then() //查询所有数据(限制10条数据,偏移量10,按照title升序);多个就写在数组里;raw:true 会让查询速度更快
  • min、max

  • sum

  • 更新update()

  • 删除destroy()

  模型关系(添加默认外键)

  或  

  自定义外键,和对应表的字段

Sequelize的更多相关文章

  1. nodejs项目mysql使用sequelize支持存储emoji

    nodejs项目mysql使用sequelize支持存储emoji 本篇主要记录nodejs项目阿里云mysql如何支持存储emoji表情. 因由 最近项目遇到用户在文本输入emoji进行存储的时候导 ...

  2. 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

    Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...

  3. sequelize常见操作使用方法

    关于sequelize的准备工作这里不再赘述. 一.引入sequelize模块 var Sequelize = require('sequelize'); 二.连接数据库 var sequelize  ...

  4. nodejs+sequelize操作mysql数据库

    前言: 本人对mysql不是很熟悉,只会命令行的简单增删改查.有些观点可能不到位请谅解. sequelize是针对node.js和io.js开发的基于ORM的框架,它支持的数据库包括:PostgreS ...

  5. Sequelize 关系模型简介

    Sequelize 关系模型简介 先介绍一下本文用到的术语: 源: 调用 sequelize 中关系方法的调用者 目标: 调用 sequelize 中关系方法中的参数 比如, User.hasOne( ...

  6. Node.js ORM 框架 sequelize 实践

    最近在做团队的一个内部系统,这次使用的nodejs web框架是团队统一的hapi.js,而数据库依然是mysql,ORM 框架选用有着6000+ stars 的 sequelize.js,hapi- ...

  7. sequelize翻译(1)

    第一次翻译(由mongoose转了mysql) v 3.0.0 1.Sequelize类 2.sequelize对象 3.sequelize.define()返回的表对象 4.表对象的方法 1.Seq ...

  8. Sequelize 基本操作

    Sequelize 是 Node 的一个 ORM(Object-Relational Mapping) 框架,用来方便数据库操作. 配置 sequelize 以 mysql 为例 首先我们要引入npm ...

  9. 【前端】nodejs的ORM框架sequelize的工厂化

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/sequelize_factory.html 一.什么是sequelize nodejs的后台在操作数据库的时候,需 ...

  10. node.js应用脚手架:koa2、sequelize、mysql

    自制了一个 nodejs 应用的脚手架. 基于 koa2 的,所以需要保证 node 环境至少为 7.6.0 吸取了以前的踩坑教训,添加了守护进程,确保应用不会因为异常导致网站直接挂掉(使用了 for ...

随机推荐

  1. 保护Laravel .env文件,防止直接访问

    web服务器: Apache 服务器系统: Ubuntu 14.04 如果不是vhost的形式部署在服务器上,可能是可以通过 http://www.example.com/.env 查看到larave ...

  2. (转载)openwrt nginx

    ln -s ../../../feeds/packages/net/fcgiwrap/ fcgiwrap 本帖最后由 cjd6568358 于 2018-6-4 11:21 编辑 刚又把路由器重置重新 ...

  3. Q:elementUI中tree组件动态展开

    1,在组件中设置展开收缩开关  default-expand-all="isExpand" 2,展开收起触发按钮 <div class="tree-foot cle ...

  4. leetcode-回溯

    题17: 方法一:回溯 class Solution: def letterCombinations(self, digits: str) -> List[str]: res = [] dic ...

  5. DOM——属性操作

    属性操作 非表单元素的属性 href.title.id.src.className  var link = document.getElementById('link'); console.log(l ...

  6. jQuery.speech实现文本转语音播报功能

    先放一个实例的地址https://github.com/wenco/speech jQuery.speech是用jQuery写的扩展插件,主要是用来语音播报. 接口调用百度翻译的接口,所以存在url参 ...

  7. hdu多校第一场 1006 (hdu6583)Typewriter dp/后缀自动机

    题意: 有个打字机,在当前字符串后新加一个字花费p,把当前字符串的一个连续子串拷贝到当前字符串的末尾花费q,给定一个字符串,求用打字机打出这个字符串的最小花费. 题解: 容易想到用dp 记dp[i]为 ...

  8. PAT_A1043#Is It a Binary Search Tree

    Source: PAT A1043 Is It a Binary Search Tree (25 分) Description: A Binary Search Tree (BST) is recur ...

  9. css中图片有缩放和转动效果

    现在html中利用div来包裹住一张图片. <div class="xuanzhuan"> <img src="images/top.png" ...

  10. 《DSP using MATLAB》Problem 8.43

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...