• Waterline从概念到实操


    Waterline基本介绍

    Waterline是什么

    Waterline是下一代存储和检索引擎,也是Sails框架中使用的默认ORM 

    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

  • 相关阅读:
    sql子查询
    java中entity和object的区别
    eclipse F3可以查询某个方法的具体定义
    SQL语句的MINUS,INTERSECT和UNION ALL
    jquery 循环获取checkBox的值,以及对复选框选中,取消,操作按钮
    jQuery 函数位于一个 document ready 函数中
    <script>的用法
    jquery ui-----弹出窗口 dialog
    util包就是用来放一些公用方法和数据结构的
    BigDecimal
  • 原文地址:https://www.cnblogs.com/TomAndJerry/p/8984151.html
Copyright © 2020-2023  润新知