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模型的更多相关文章

  1. Sequelize模型定义

    定义 定义模型与表之间的映射,使用 define 方法. Sequelize 会自动增加 createdAt 和 updated 属性,这样能知道一个实例的创建时间和最终修改时间.如果不想自动生成,可 ...

  2. sequelize-auto生成sequelize所有模型

    sequelize是node最受欢迎的orm库,普遍使用 Promise. 意味着所有异步调用可以使用 ES2017 async/await 语法. 快速入门地址:https://github.com ...

  3. sequelize 学习之路

    如果你觉得Sequelize的文档有点多.杂,不方便看,可以看看这篇. 在使用NodeJS来关系型操作数据库时,为了方便,通常都会选择一个合适的ORM(Object Relationship Mode ...

  4. Sequelize 和 MySQL 对照Sequelize 和 MySQL 对照

    安装 这篇文章主要使用MySQL.Sequelize.co来进行介绍.安装非常简单: $ npm install --save co $ npm install --save sequelize $ ...

  5. Node.js ORM框架Sequlize之表间关系

    Sequelize模型之间存在关联关系,这些关系代表了数据库中对应表之间的主/外键关系.基于模型关系可以实现关联表之间的连接查询.更新.删除等操作.本文将通过一个示例,介绍模型的定义,创建模型关联关系 ...

  6. Sequelize-nodejs-3-model definition

    Model definition模型定义 To define mappings between a model and a table, use the define method.定义模型和表之间的 ...

  7. Sequelize 关系模型简介

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

  8. Sequelize 类 建立数据库连接 模型定义

    1:Sequelize 类 Sequelize是引用Sequelize模块获取的一个顶级对象,通过这个类可以获取模块内对其他对象的引用.比如utils.Transaction事务类.通过这个顶级对象创 ...

  9. Nodejs ORM框架Sequelize(模型,关联表,事务,循环,及常见问题)

    1.建立连接 const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username ...

随机推荐

  1. 小程序 laravel 实现秒杀

    参考博客: https://blog.csdn.net/m0_56487875/article/details/118603439 小程序登录: https://www.cnblogs.com/xia ...

  2. 2022年官网下安装Logstash最全版与官网查阅方法(8.1.0最新安装)

    一.环境整合 构建工具(参考工具部署方式) 软件名称 版本 相关文章推荐 NodeJS 16.0.0 https://www.cnblogs.com/liuyangfirst/p/15998172.h ...

  3. kali linux 更换国内源报GPG error解决办法

    wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add

  4. Docker的4种网络模式详细介绍

    docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: bridge模式:使用–net =bridge指定: host模式:使用–net = ...

  5. CentOS 7 源码安装 Zabbix 6.0

    Zabbix 主要有以下几个组件组成: Zabbix Server:Zabbix 服务端,是 Zabbix 的核心组件.它负责接收监控数据并触发告警,还负责将监控数据持久化到数据库中. Zabbix ...

  6. 各种环境下反弹shell

    0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或者UDP模式,添加参数 -u 则 ...

  7. 变量 Java day 5

    Java 第五天的学习 变量 变量注意事项 变量的底层 ASCII编码表 1.什么是变量? 概念:变量及代数. 在Java中,变量分为两种:基本类型的变量和引用类型的变量 1>基本类型的变量:必 ...

  8. systemd --user进程CPU占用高问题分析

    1.问题由来 近期发现堡垒机环境有如下问题,systemd占用大量cpu: 原文链接:https://www.cnblogs.com/yaohong/p/16046670.html 2.问题定位 2. ...

  9. C++设计模式 - 总结

    一个目标:管理变化,提高复用 掌握设计模式一个核心目标:管理变化,提高复用.在使用设计模式中发现并没有实现复用,这就和设计初衷相违背了,说明代买写的不好. 两种手段:分解VS.抽象 在代码设计中,该开 ...

  10. 12.19 file 与io流

    12.19 file与io流 File 1. 新建文件或者文件夹 新建文件 File F = new File(pathname:"路径+文件名");Boolean flag = ...