>支持的数据类型:

string / text / integer / float / date / time / datetime / boolean / binary / array / json

>校验器:

https://github.com/sailsjs/anchor/blob/master/lib/match/rules.js

常见的如:maxLength minLength min before after

required

自增 autoIncrement

字段要设置 索引 时 index

每个模型只有一个主键, 尽量在 autoPK 属性设置为 false 时 才使用 primaryKey每个模型只有一个主键, 尽量在 autoPK 属性设置为 false 时 才使用 primaryKey

模型属性名和数据表中字段名不一致 columnName

>查询

Model.find({ name: 'foo' }) 简单查询

Model.find({ where: { name: 'foo' }, skip: 20, limit: 10 });分页

Model.find({ where: { name: 'foo' }, skip: 20, limit: 10, sort: 'name DESC' });排序

Model.find({  name : {'contains' : 'zzl'}})包含

Model.find({name : ['Walter', 'Skyler']}); 枚举

Model.find({name: { '!' : ['zzl', 'zql'] }}); 枚举

Model.find({ age: { '>=': 21 }}比较>,<,<=,>=

Model.find({ city: { 'endsWith': 'china' }})以某些字段开头或结束startsWith

Model.find({ city: { 'like': '%c%' }})模糊查询

Model.find({ date: { '>': new Date('10/1/2015'), '<': new Date('10/30/2015') } })范围查询

create / update / destory / findLike / startWith / findByNameIn / nameContains

查询的三种方式:

回调方式:直接把结果处理函数以回调函数的方法传给查询方法
链式方式:查询方法之后,直接以链式方式依次组织各个查询接口
Promise:这一方式使得错误处理更漂亮,代码也更容易阅读

查询接口

https://github.com/balderdashy/waterline-docs/blob/master/queries/query.md

>生命周期回调

beforeCreate: function(value, cb){  
    value.createTime = new Date();  
    console.log('beforeCreate executed');  
    return cb();  
  }

创建时:beforeValidate / afterValidate / beforeCreate / afterCreate
    更新时:beforeValidate / afterValidate / beforeUpdate / afterUpdate
删除时:beforeDestroy / afterDestroy
create 的回呼

beforeValidate: fn(values, cb)
afterValidate: fn(values, cb)
beforeCreate: fn(values, cb)
afterCreate: fn(newlyInsertedRecord, cb)
update 的回呼

beforeValidate: fn(valuesToUpdate, cb)
afterValidate: fn(valuesToUpdate, cb)
beforeUpdate: fn(valuesToUpdate, cb)
afterUpdate: fn(updatedRecord, cb)
destroy 的回呼

beforeDestroy: fn(criteria, cb)
afterDestroy: fn(destroyedRecords, cb)

与你相遇好幸运,Waterline的属性的更多相关文章

  1. 与你相遇好幸运,Waterline初遇

    Github : https://github.com/balderdashy/waterline 文档 : https://github.com/balderdashy/waterline-docs ...

  2. 与你相遇好幸运,Waterline的多表关联

    >一对一关联 表示一个模型可能只与另一个模型关联.为了使模型知道它与其他哪些模型关联,外键必需包含在记录中.. http://imfly.github.io/sails-docs/concept ...

  3. 与你相遇好幸运,My Toolkit of Nodejs

    >测试:restler.mocha.assert.request.request-promise >安装:nrm >运维:pm2.node-gyp >开发:nodemon.in ...

  4. 与你相遇好幸运,async解决循环回调问题

    由于使用的sailsjs框架,用的是sailsjs自身带的ORm(就是waterline),ORM的默认数据库的返回值在回调里面. > arg是一个数组 count用来计数用 tmpArr临时存 ...

  5. 与你相遇好幸运,Sails.js安装

    官网: http://sailsjs.org Github:https://github.com/balderdashy/sails 开发文档: http://sailsjs.org/document ...

  6. 与你相遇好幸运,使用redis设置定时任务

    参考链接: Nodejs中使用Redis来完成定时任务 自己在 window 7下编码实现: 1 > 首先查看redis版本: redis-server -v , 版本要求大于等于2.8 2&g ...

  7. 与你相遇好幸运,制作自己的Yeoman Generator

    使用别人写好的生成器: npm install -g yonpm install -g generator-angularyo angular 如何自己制作符合自己心仪的生成器呢: https://g ...

  8. 与你相遇好幸运,gen8安装

    gen8到手后,立马去买了 SSD https://item.jd.com/2010277.html 支架 https://item.jd.com/2671609.html NAS盘 https:// ...

  9. 与你相遇好幸运,德淘gen8历程

    应该是十月底了 , 在浏览色魔张大妈(smzdm) http://www.smzdm.com/p/6517684/ 的时候看见了这个 , 以前大学就想买个这个 , 苦于没钱.... 然后当时打算买 , ...

随机推荐

  1. iTool拷贝app到电脑上

    iTool拷贝app到电脑上 方法一. iTool找到你的app, 归档在桌面, 桌面就生成了ipa, 其实ipa是一个压缩包, 使用解压软件解压之后 生成Payload文件夹, 点开就可以看到Clo ...

  2. saltstack/salt的state.sls的使用

    SLS(代表SaLt State文件)是Salt State系统的核心.SLS描述了系统的目标状态,由格式简单的数据构成.这经常被称作配置管理 首先,在master上面定义salt的主目录,默认是在/ ...

  3. 【架构】MQTT/XMPP/GCM 等参考资料

    https://www.zhihu.com/question/29138530 https://segmentfault.com/q/1010000002598843/a-10200000026014 ...

  4. Verify Preorder/Inorder/Postorder Sequence in Binary Search Tree

    Verify Preorder Sequence in Binary Search Tree \Given an array of numbers, verify whether it is the ...

  5. cas 单点登录出现org.jasig.cas.client.util.CommonUtils.getResponseFromServer - 拒绝连接 Connection refused

    cas 单点登录出现org.jasig.cas.client.util.CommonUtils.getResponseFromServer - 拒绝连接 Connection refused 环境: ...

  6. Context.managedQuery()和context.getContentResolver()获取Cursor关闭注意事项

    在获取图片缩略图时,获取游标并进行相关的操作. Cursor cursor = context.getContentResolver().query(MediaStore.Images.Thumbna ...

  7. ios nsdataformatter奇怪的问题

    用nsdataformatter在中文格式下测试, a 标识的是上午,下午,不是AM,pm. 我在24小时格式的机器上测试,存入了一个 时间,却解析不出来了! static NSString *Hom ...

  8. HBase集成Zookeeper集群部署

    大数据集群为了保证故障转移,一般通过zookeeper来整体协调管理,当节点数大于等于6个时推荐使用,接下来描述一下Hbase集群部署在zookeeper上的过程: 安装Hbase之前首先系统应该做通 ...

  9. HTML5 video 支持air play

    < video src="/path/to/video.mp4" x-webkit-airplay="allow" preload controls> ...

  10. 自定义tld标签,页面使用

    背景需求: 系统本身的session不能在页面使用 如下: controller: @RequestMapping(method=RequestMethod.GET) public String ge ...