nodejs使用Sequelize框架操作数据库的实现


Posted in NodeJs onOctober 21, 2020

sequelize.define

使用该方法可以定义model,例子如下:

const Sequelize = require('sequelize');

var sequelize = new Sequelize(config.database, config.username, config.password, {
 host: config.host,
 dialect: 'mysql',
 pool: {
  max: 5,
  min: 0,
  idle: 30000
 }
});

var Website = sequelize.define('website', {
 id: {
  type: Sequelize.BIGINT,
  primaryKey: true,
  autoIncrement: true
 },
 url: Sequelize.STRING(255),
 title: Sequelize.STRING(255),
 status: Sequelize.INTEGER,
 delete_mark: Sequelize.BOOLEAN
}, {
 timestamps: false
});

该方法传入的第一个参数是数据表的单数形式,怎么理解呢?例如这里传入的是website其实是模型名,数据表默认是websites这样的复数形式,这种约定我在Laravel中也碰见过,

也就是常说的,约定大于定义,也就是说,如果我们都按照约定的规范去开发,那么效率其实比重新定义,要高很多。

那么,定义好了模型,该怎么进行使用呢?

(async () => {
 let demo = await Website.create({
  url:'http://www.xxxx.com/',
  title:'demo'
 });
 console.log(demo);
})();

继承Model

const {Sequelize, DataTypes, Model} = require('sequelize');
const config = require('../config');

const sequelize = new Sequelize(config.database, config.username, config.password, {
 host: config.host,
 dialect: 'mysql',
 pool: {
  max: 5,
  min: 0,
  idle: 30000
 }
});

/**
 * @author chaojilaji
 * 数据表websites的关系对象映射
 */
class WebSite extends Model {

}

WebSite.init({
 id: {
  type: Sequelize.BIGINT,
  primaryKey: true,
  autoIncrement: true
 },
 url: Sequelize.STRING(255),
 title: Sequelize.STRING(255),
 status: Sequelize.INTEGER,
 delete_mark: Sequelize.BOOLEAN
}, {
 sequelize,
 modelName: 'Website',
 timestamps:false
});

(async () => {
 await sequelize.sync();
 let x = await WebSite.create({
  url: 'http://www.xxxxxxxx.com/',
  title: 'demo2'
 });
 console.log(x);
})();

module.exports = WebSite;

我比较推荐使用继承Model这种方式,通过创建一个class,这样可以使用model.exports=模块名的方式,将该模型封装起来。供别的地方使用,只需要require进去即可。

具体如何对数据表进行操作,就比较简单了,只需要参考API即可。 sequelize文档地址

到此这篇关于nodejs使用Sequelize框架操作数据库的实现的文章就介绍到这了,更多相关nodejs Sequelize操作数据库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

NodeJs 相关文章推荐
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
Jan 01 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
详解nodejs微信jssdk后端接口
May 25 NodeJs
nodejs后台集成ueditor富文本编辑器的实例
Jul 11 NodeJs
nodejs操作mongodb的增删改查功能实例
Nov 09 NodeJs
NodeJS父进程与子进程资源共享原理与实现方法
Mar 16 NodeJs
nodejs的路径问题的解决
Jun 30 NodeJs
详解利用nodejs对本地json文件进行增删改查
Sep 20 NodeJs
nodeJs的安装与npm全局环境变量的配置详解
Jan 06 NodeJs
linux 下以二进制的方式安装 nodejs
Feb 12 NodeJs
一文秒懂nodejs中的异步编程
Jan 28 NodeJs
用Nodejs实现在终端中炒股的实现
Oct 18 #NodeJs
Nodejs在局域网配置https访问的实现方法
Oct 17 #NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 #NodeJs
浅谈vue websocket nodeJS 进行实时通信踩到的坑
Sep 22 #NodeJs
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
Aug 20 #NodeJs
浅谈使用nodejs搭建web服务器的过程
Jul 20 #NodeJs
通过实例了解Nodejs模块系统及require机制
Jul 16 #NodeJs
You might like
php二维数组排序方法(array_multisort usort)
2013/12/25 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
2012/09/19 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
Ajax基础知识详解
2017/02/17 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
python opencv实现图像边缘检测
2019/04/29 Python
python实现五子棋游戏
2019/06/18 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
应届生财务管理求职信
2013/11/06 职场文书
给全校老师的建议书
2014/03/13 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
教你怎么用Python操作MySql数据库
2021/05/31 Python