文章列表 (共 625 篇,第 9/63 页)

[Node.js与数据库]使用 node-mysql 连接MySQL数据库

当对大量结构化数据进行存储和访问时,就需要一个数据库来进行管理。MySQL是一个关系型数据,它会以结构化的方式存储和获取数据。在Node.js中,可以使用node-mysql模块实现与MySQL的通信。 安装与连接 1.1 安装 1.2 连接MySql 数据读取 2.1 两种读取方式 2.2 查询点位符 完...
阅读全文 →

sequelize-auto从数据库表自动生成Sequelize模型(Model)

某兄基于Sequelize实现ORM,其数据库中已有很多张表,如果手工建立模型(Model)会花费很多时间,因此需要一种比较便捷的建立模型的方式。笔者所参与的项目中,从项目初始阶段就使用Sequelize进行数据库表结构的维护,如果遇到表结构修改的情况会手调整模型结构,并手工编写SQL脚本修改表结构或使用sequelize.sync({force:true...
阅读全文 →

Sequelize 连接查询时include中model与association的区别

在使用Sequelize进行关系模型(表)间连接查询时,我们会通过model/as来指定已存在关联关系的连接查询模型,或是通过association来直接指定连接查询模型关系。那么,两者各应该在什么场景下使用呢? 示例准备 使用model/as 使用association 1. 示例准备 模型定义 首先,定义User和Company两个模型: '...
阅读全文 →

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实例的创建 在操作关...
阅读全文 →