IT笔录

IT技术学习笔记和经验记录

第 9/27 页,共 264 篇文章

Sequelize 嵌套模型查询及嵌套模型字段排序

Sequelize 的“嵌套模型查询”最终会生成SQL“连接查询”语句,即生成'inner join'、'left join'等。在连接查询时,我们在可以连接阶段通过'on ... and'(如:ON A.id = B.user_id AND B.name = 'niefengjun.cn')来对连接表进行筛选,可以在where条件中(如:WHERE B....
阅读全文 →

Sequelize 字段自增、自减及批量自增、自减更新

Sequelize 可以实现针对单个实例的一或多个字段的自增、自减操作,也可以对符合条件的数据进行批量的自增、自减操作。单个实例字段的自增、自减可以利用Instance的相应方法实现,而批量自增、自减则需要借助sequelize提供的字面量方法实现。 单实例自增、自减 批量自增、自减 1. 单实例自增、自减 在Sequelize中,一个实例(Ins...
阅读全文 →

Sequelize 多数据库操作

Sequelize 基于数据库实例定义模型,可以方便的进行数据的增、删、改、查操作,并可以基于模型关系实现连接查询、事务等操作。但这些操作都是基于一个数据库实例,即:一个sequelize实例,除读写分离外,Sequelize也并不支持多数据库操作。如果你的项目中需要对多个数据库进行操作,就不那么方便。本文将针对Sequelize操作多数据库的情况做一些整...
阅读全文 →

Sequelize belongsToMany关系的使用及 is not associated with 问题的处理

belongsToMany用于表示模型间N:M(多对多)的关系,N:M关系通过一个“关系表”建立两个模型间的关联关系。用于建立关联关系的“关系表”可以手工创建,也可以由Sequelize自动创建。 模型的定义 模型间的关联关系 N:M关联模型的查询 在个项目中,有用户、角色、用户角色关系三张表,三张表对应的模型及模型间的关系如下: Users...
阅读全文 →

Sequelize 中事务的使用

数据库中的事务是指单个逻辑所包含的一系列数据操作,要么全部执行,要么全部不执行。在一个事务中,可能会包含开始(START)、提交(COMMIT)、回滚(ROLLBACK)等操作,Sequelize 通过Transaction类来实现事务相关功能。Sequelize 中的事务有两种使用:可以基于Promise结果链进行自动提交或回滚,也可以由用户控制提交或回...
阅读全文 →

Sequelize 中文文档及sequelize模块一些说明

本文是对Sequelize 中文API文档系列文章的综合索引,及对sequelize模块和其内置对象的一些介绍,旨在帮助人们更好了解和使用Sequelize。 文档索引 官方文档对照 sequelize模块介绍 3.1 顶级对象Sequelize 3.2 Model对象的实例化 3.3 Instance实例的创建 在操作关...
阅读全文 →

Sequelize 中文文档整理(v5版本)

前些年,本站整理过Sequelize相关中文文档,其时,Sequelize的版本为v3.*。现在Sequelize版本已更新到v5.19.6(本文发布之日),Sequelize的功能和API已有较大规模的更新,所以基于v5.*再进行一次梳理,以了解新功能及方便日后使用。 概述 快速入门(Getting started) 方言(Dialects) ...
阅读全文 →

Sequelize 中文API文档-9. 数据类型类 DataTypes 及其API

在使用sequelize.define方法定义模型时,我们一般会为模型属性(列)指定类型type,它表示数据类型,Sequelize会按指定的类型在数据库中创建字段。这些类型被定义到了sequelize模块的DataTypes类中,它是一个静态类可以直接引用其属性或方法。 DataTypes类 DataTypes类中的API 2.1 STRI...
阅读全文 →

Sequelize 中文API文档-8. 钩子函数的使用、Hooks相关API

Hooks(钩子)是指会在模型生命周期的特殊时刻被调用的函数,如:模型实例被创建前会调用beforeCreate函数,而在模型实例创建后又会调用afterCreate函数。通过这些钩子函数,使用我们具有在生命周期的特殊时刻访问或操作模型数据的能力。 钩子函数的使用 1.1 钩子函数的调用顺序 1.2 定义钩子 1.3 移除钩子 1...
阅读全文 →

Sequelize 中文API文档-7. Scopes 作用域的使用

Scopes - 作用域,表示一个限制范围,它最终会生成SQL查询中的where子句。它在模型定义方法sequelize.define的option参数,或通过Model.scope()方法指定。 定义 使用 合并 关联 1. 定义 作用域允许你定义常用的查询,这样就可以很容易地在之后使用。Scopes包括所有相同属性规律的筛选器,where、...
阅读全文 →