• 连接数据库

 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. wireshark抓包总结

    过滤规则: ip.src == 源地址 and http(协议)

  2. linux crontab 计划任务编写

    在linux中启动crontab服务: /etc/init.d/crond start crontab的命令格式 crontab -l 显示当前的crontab 文件(默认编写的crontab文件会保 ...

  3. 初识 SpringData - JPA(一)

    概念 什么是 JPA JPA(Java Persistence API ): Java 持久化规范的 API .是 SUN 官方推出的一套基于 ORM 的规范,内部是由一系列的接口和抽象类构成.其提供 ...

  4. Batch - FOR %%a %%b

    总结 %%a refers to the name of the variable your for loop will write to. Quoted from for /?: FOR %vari ...

  5. [JZOJ6355] 【NOIP2019模拟】普 24/100

    题目 题目大意 给你一个序列,对于所有\(k\in [1,n]\),求长度为\(k\)的子序列的最大权值,权值为\(a_1-a_2+a_3-...\pm a_k\) 思考历程 这题显然可以背包对吧-- ...

  6. 28 利用平面对应关系求解RT空间转换矩阵

    0 引言 问题背景:给定CAD模型与点云的情况下,基于CAD比对实现对实测点云的尺寸测量是三维测量技术中一种常用的思路.该思路的关键问题在于需要精确求解CAD模型与点云之间的空间转换矩阵.采用ICP( ...

  7. csp-s模拟测试96

    csp-s模拟测试96 $T1$一眼慢速乘,$T2$稍证一手最优性尝试用神奇数据结构优化,无果,弃.$T3$暴力+信仰. 100 03:16:38 95 03:16:56 35 03:17:10 23 ...

  8. 其它课程中的python---1、python基础

    其它课程中的python---1.python基础 一.总结 一句话总结: 可以先把视频平台搭起来,这样学习效率会高很多,而且有额外收益 1.python的优势有哪些? 一个广泛的标准库 扩展性:比如 ...

  9. idea 设置默认maven auto import,不需要每次都弹出

    1 2 误区 从这里点进去进行设置,或者每次打开项目右击下方的 auto impot都是不对的.

  10. MongoDB点滴

    0 http://blog.csdn.net/mydeman/article/details/6652387 1 MongoDB 内置连接池,不需要使用额外的连接池驱动 Note: The Mongo ...