sequelize模型
model表示数据库中的表,有时它也会被称为"模型"或“工厂”。Model不能通过构造函数创建,只能通过sequlize.define方法来定义或通过sequlize.import导入。通过define定义一个model,就相当于定义了一种模型与数据表之间 的映射关系,通过模型可以实现对表记录的增删改查等操作。
Model的API
1. removeAttribute() 移除属性
2. sync() 同步模型到数据库
3. drop() 删除数据库中的表
4. schema() 制定schema
5. getTableName() 获取表名
6. addScope() 添加限制范围
7. scope() 应用限制范围
8. findAll() 查询多条数据
9. findById() 通过id查询单条数据
10. findOne() 查询单条数据
11. aggregate() 聚合查询
12. count() 统计查询结果数
13. findAndCount() 分页查询
14. max() 查询最大值
15. min() 查询最小值
16. sum() 求和
17. build() 创建新实例
18. create() 创建保存新实例
19. findOrInitialize() 查找或初始化
20. findOrCreate() 查找或创建
21. describe() 查询表信息
定义描述
1. 定义模型Model和表之间的映射关系使用define方法。 定义时sequelize会自动为其添加createdAt和updatedAt两个属性(相当于表中的字段),这样 你就可以知道数据什么时候插入了数据库和什么时候进行了更新。
2. 设置allowNull选项为false后,会为列添加NOT NULL非空限制
模型的使用
1. Data retrueval / Finders 数据索引/查找
查找方法是为了从数据库中查询数据,这些方法不是返回原始数据对象,而是返回模型实例。因会其返回的模型实例,
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
model是一种与数据库中表与数据库中表关系的描述对象,它通过sequlize.define方法定义或通过sequlize.import导入创建实例的对象。通过Model进行数据查询时,我们可以实现类似在数据库中直接使用SQL语句的查询、排序、分组、别名、链接查询等
1. attribute 属性与查询字段
查询时,如果只需要查询模型的部分属性,可以通过在查询选项中制定attributes实现,它是一个数组参数,在数组中指定要查询的属性即可,这些要查询的属性就是要在数据库查询的字段。
当需要查询所有字段并对某一字段使用聚合查询时,而只需要以对象的形式传入Attributes并添加include子属性即可
全部查询时,可以通过exclude子属性来排除不需要查询的字段(不需要查询的字段)
2. where 指定筛选条件
在模型的操作中,可以指定一个where选项以制定筛选条件,where是一个包含属性/值对对象,sequlize会根据此对象产生查询语句的筛选条件
sequelize模型的更多相关文章
- Sequelize模型定义
定义 定义模型与表之间的映射,使用 define 方法. Sequelize 会自动增加 createdAt 和 updated 属性,这样能知道一个实例的创建时间和最终修改时间.如果不想自动生成,可 ...
- sequelize-auto生成sequelize所有模型
sequelize是node最受欢迎的orm库,普遍使用 Promise. 意味着所有异步调用可以使用 ES2017 async/await 语法. 快速入门地址:https://github.com ...
- sequelize 学习之路
如果你觉得Sequelize的文档有点多.杂,不方便看,可以看看这篇. 在使用NodeJS来关系型操作数据库时,为了方便,通常都会选择一个合适的ORM(Object Relationship Mode ...
- Sequelize 和 MySQL 对照Sequelize 和 MySQL 对照
安装 这篇文章主要使用MySQL.Sequelize.co来进行介绍.安装非常简单: $ npm install --save co $ npm install --save sequelize $ ...
- Node.js ORM框架Sequlize之表间关系
Sequelize模型之间存在关联关系,这些关系代表了数据库中对应表之间的主/外键关系.基于模型关系可以实现关联表之间的连接查询.更新.删除等操作.本文将通过一个示例,介绍模型的定义,创建模型关联关系 ...
- Sequelize-nodejs-3-model definition
Model definition模型定义 To define mappings between a model and a table, use the define method.定义模型和表之间的 ...
- Sequelize 关系模型简介
Sequelize 关系模型简介 先介绍一下本文用到的术语: 源: 调用 sequelize 中关系方法的调用者 目标: 调用 sequelize 中关系方法中的参数 比如, User.hasOne( ...
- Sequelize 类 建立数据库连接 模型定义
1:Sequelize 类 Sequelize是引用Sequelize模块获取的一个顶级对象,通过这个类可以获取模块内对其他对象的引用.比如utils.Transaction事务类.通过这个顶级对象创 ...
- Nodejs ORM框架Sequelize(模型,关联表,事务,循环,及常见问题)
1.建立连接 const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username ...
随机推荐
- 在线O(1)求逆元
怎么还有厉害的在线O(1)求逆元,不过常数确实有点儿太大了 本文大部分搬运于这里 相信大家都做过 POJ2478 这道题吧,这道题的 Farey 序列 \(F_n\) 包含了分子分母不大于 \(n\) ...
- *****又错一道,不知道为啥。。。 ybt【例5.19】字符串判等
[题目描述] 判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等. [输入] 两行,每行包含一个字符串. [输出] 若两个字符串相等,输出YES,否则输出NO. 代码我觉得没啥问 ...
- Arcgis 离线部署api 4.x的两种本地部署方法!
引言:本文用的是api4.6版本 方法一 拷贝api进去tomcat服务器用绝对地址引用 首先将下载好的api放入Tomcat服务中的Webapp下: 1 可以打开下载好的的 api46/arcg ...
- SQL注入常用命令
1. 数据库查询版本 Mssql select @@version Mysql select vresion()/select @@version oracle select banner from ...
- (web)Bugs_Bunny_CTF_writeup 部分简单web
Nothing here QnVnc19CdW5ueXs1MjljNDI5YWJkZTIxNzFkMGEyNTU4NDQ3MmFmODIxN30K Bugs_Bunny{529c429abde2171 ...
- webapi_3 今天真真真全是大经典案例
这个项目一多起来了,还是分个序号比价好一点,你好我好大家好,然后关于这个标点符号的问题,我打字真的很不喜欢打标点符号,不是不好按,按个逗号其实也是顺便的事情,可能就是养成习惯了,就喜欢按个空格来分开, ...
- 【算法篇】Bitmap 算法
首先,什么是Bitmap算法(位图算法)呢? 一:定义: Bit map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素.使用Bit为用来存储数据的单位, 可以大大节省存储空间. ...
- 解释JDBC抽象和DAO模块?
通过使用JDBC抽象和DAO模块,保证数据库代码的简洁,并能避免数据库资源错误关闭导致的问题,它在各种不同的数据库的错误信息之上,提供了一个统一的异常访问层.它还利用Spring的AOP 模块给Spr ...
- 什么是 Daemon 线程?它有什么意义?
所谓后台(daemon)线程,是指在程序运行的时候在后台提供一种通用服务的线 程,并且这个线程并不属于程序中不可或缺的部分.因此,当所有的非后台线程 结束时,程序也就终止了,同时会杀死进程中的所有后台 ...
- park和unpark
1 介绍 LockSupport类是Java6(JSR166-JUC)引入的一个类,提供了基本的线程同步原语.LockSupport提供的两个主要方法就是park和unpark. park译为&quo ...