【知识整理】Node.js-Sequelize之模型(表)之间的关联关系
来源:互联网 发布:1390打印机清零软件 编辑:程序博客网 时间:2024/05/21 08:44
一。Sequelize:
Sequelize类是引用sequlize模块后获取一个顶级对象,我们通过它来创建sequlize实例,也可以通过该对象来获取模内其它对象的引用,如:Utils工具类、Transaction事务类等。创建实例后,可以通过实例来创建或定义Model(模型)、执行查询、同步数据库结构等操作。
三。一对一关联:一对一关联是由一个单一的外键,实现两个模型之间的精确关联。
1.BelongsTo(属于):BelongsTo关联表示一对一关系的外键存在于源模型。
如,下例中Player是通过外键关键的Team的一部分。外键存在于Player中。
var Player = sequelize.define('player',{});var Team = sequelize.define('team', {});Player.belongsTo(Team);//会为Player添加一个teamId属性以保持与Team主键的关系.2.hasOne(拥有一个):表示一对一关系的外键存在于目标模型.
如,下例中User是通过外键关联的Project的一部分,外键存在于User中
var User = sequelize.define('user'.{});var Project = sequelize.define('project',{});Project.hasOne(User)//hasOne会添加一个projectId属性到User模型中,另外,Project.prototype中会增加根据传入的第一个定义参数生成的访问器方法getUser和setUser值.四。一对多关联:是指一个源模型联接多个目标模型,反之目标模型都会有一个明确的源。
1.hasMany(有一些)
如,下例中一个Project关联了多个User
var User = sequelize.define('user',{});var Project = sequelize.define('project', {as : 'Works'});Project(源模型).hasMany(User(目标模型));//会向User中添加一个projectId属性,Project的实例中会有访问器getWorks和setWorks。这是一种单项关联关系。五。多对多关联:是指一个源模型连接多个目标模型。而且,目标模型也可以有多个相关的源。
Project.belongsToMany(User, {through : 'UserProject'});User.belongsToMany(Project, {throught: 'UserProject'});//这会创建一个新模型UserProject,其中projectId和userId两个外键。定义through选项后,Sequelize会尝试自动生成名字。//在本例中,会为User添加方法getUsers,setUsers,addUser,addUsers到Project中。getProjects,setProjects,addProject,addProjects到User中.
阅读全文
1 0
- 【知识整理】Node.js-Sequelize之模型(表)之间的关联关系
- 【知识整理】Node.js-Sequelize之查询
- 【知识整理】Node.js-Sequelize之原始查询
- NODE.JS ORM之sequelize 框架
- node.js-ORM数据库框架sequelize使用总结 超时查询、缓存查询、多表关联查询
- 【知识整理】Node.js-Koa之Web App的功能
- 【知识整理】Node.js-Koa之路由
- 【知识整理】Node.js-Koa之Context、HTTP Response类型
- 【知识整理】Node.js-Koa之错误处理
- oracle查看表之间的关联关系
- oracle查看表之间的关联关系
- Node.js使用Sequelize ORM框架
- node.js和MySQL使用Sequelize
- Node.js使用Sequelize操作MySQL
- sequelize解决模型不是sequelize创建的实例
- 类与类之间的关系之 -关联-
- node.js项目中基于mysql利用sequelize-auto对照数据库自动生成相应的models
- 关于hibernate表之间的关联关系的注解使用
- [Java]java实现二叉树遍历
- mysql The used table type doesn’t support FULLTEXT indexes 解决方案
- AndFix使用说明
- tabbar阴影效果
- BZOJ 2005 [Noi 2010] 数论 解题报告
- 【知识整理】Node.js-Sequelize之模型(表)之间的关联关系
- 导入excel表格数据 不用保存表格
- 关于angular安装npm install -g @angular/cli报错
- 关于DNF的多媒体包NPK文件的那些事儿(4)- NPK文件操作流程
- Spring各个jar包作用
- bzoj1671 [Usaco2005 Dec]Knights of Ni 骑士
- Web系统大规模并发——电商秒杀与抢购
- Linux c 通过TCP协议实现多个客户端连接服务器
- 欢迎使用CSDN-markdown编辑器