zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    2010上交:计算表达式
    添加子评论
    上传图片
    settings配置 文件操作
    django 操作前端数据
    静态文件配置
    render httprequest
    上传文件配置
    Django为什么要跳转到不同的页面来实现不同的功能
    定义日志器
  • 原文地址:https://www.cnblogs.com/TomAndJerry/p/8984151.html
Copyright © 2011-2022 走看看