Sequelize 中文API文档-7. Scopes 作用域的使用
Scopes
- 作用域,表示一个限制范围,它最终会生成SQL查询中的where
子句。它在模型定义方法sequelize.define
的option
参数,或通过Model.scope()
方法指定。
Scopes
- 作用域,表示一个限制范围,它最终会生成SQL查询中的where
子句。它在模型定义方法sequelize.define
的option
参数,或通过Model.scope()
方法指定。
Transaction
是Sequelize
中用于实现事务功能的子类,通过调用Sequelize.transaction()
方法可以创建一个该类的实例。在Sequelize
中,支持自动提交/回滚,也可以支持用户手动提交/回滚。
Instance
类表示数据库中的一行记录,该类不能直接实例化,而应该由Model
对象创建。Instance
实例有两种,由Model.build
方法创建的非持久化实例,和由Model.create
方法创建的持久化实例。应该注意,Instance
翻译后也叫做“实例”,但它在Sequelize 中是一个类,它的实例应该叫做“实例”类的实例。
Sequelize
中有两种查询:使用Model
(模型)中的方法查询和使用sequelize.query()
进行基于SQL语句的原始查询。
模型(Model
)之间存在各种各样的关系,如:一对一(One-To-One )、一对多(One-To-Many)等。模型间的关系本质上是对其代表的数据库中表之间的关系描述,通过这些关系可以实现数据库中表之间主/外键约束的创建。查询时也可以基于这些关系,生成在数据库中执行的连接查询或复合查询SQL语句。
Model
相当于数据库中表,有时它也会被称为“模型”或“工厂”。Model
不能通过构造函数创建,而只能通过sequlize.define
方法来定义或通过sequlize.import
导入。通过define
定义一个Model
,就相当于定义了一种模型与数据表之间的映射关系,通过模型可以实现对表记录的增、删、改、查等操作。
Sequelize
类是引用sequlize
模块后获取一个顶级对象,我们通过它来创建sequlize
实例,也可以通过该对象来获取模内其它对象的引用,如:Utils
工具类、Transaction
事务类等。创建实例后,可以通过实例来创建或定义Model
(模型)、执行查询、同步数据库结构等操作。