Waterline从概念到实操

Waterline基本介绍

Waterline是什么

ORM的基本概念

Object Relational Mapping

将文档数据库中的一个文档,关系数据库表中的一行,映射为JavaScript中的一个对象

操作对象,便可以完成对数据库的操作

Waterline特点和优势

支持大部分主流数据库

脱离SQL

使用同样的代码操作不同的数据库

易于理解的符号   //数学符号

丰富的方法  //增删改查 20多个

多样的数据类型 

Waterline相对于Mongoose的比较

支持更多的数据库

提供比Mongoose更丰富的CURD方法

更丰富的数据校验方法

Waterline主要概念

适配器

功能:将统一的操作代码,转换为某种数据库所支持的数据库操作

代码创建:

var mysqlAdapter = require('sails-mysql');
var mongoAdapter = require('sails-mongo');

var adapters = {
  mongo : mongoAdapter,
  mysql : mysqlAdapter,
  default : mongo
}

连接

通过某个适配器,及对应的连接信息,来建立一个与数据库的实际连接

代码展示:

//连接配置
var connections = {
  mongo : {
    adapter : 'mongo',
    url : 'mongodb://localhost/watereline'
  },
  mysql : {
    adapter : 'mysql',
    url : 'mysql://root:@localhost/watereline'
  }
};

数据集合

定义具体的数据类型

类似于mongoose中的Model

具体对应关系数据库中的表、和文档数据库中的集合

校验器

执行数据检查

使用的是Anchor https://github.com/sailsjs/anchor

预定义的数据校验器,支持常规检查、时间检查、经纬度坐标检查、Email地址检查等

支持自定义数据校验器

生命周期回调

创建时:beforeValidate/afterValidate/beforeCreate/afterCreate

更新时:beforeValidate/afterValidate/beforeUpdate/afterUpdate

删除时:beforeDestroy/afterDestroy

猜你喜欢

转载自www.cnblogs.com/TomAndJerry/p/8984151.html