与你相遇好幸运,Waterline的属性
>支持的数据类型:
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的属性的更多相关文章
- 与你相遇好幸运,Waterline初遇
Github : https://github.com/balderdashy/waterline 文档 : https://github.com/balderdashy/waterline-docs ...
- 与你相遇好幸运,Waterline的多表关联
>一对一关联 表示一个模型可能只与另一个模型关联.为了使模型知道它与其他哪些模型关联,外键必需包含在记录中.. http://imfly.github.io/sails-docs/concept ...
- 与你相遇好幸运,My Toolkit of Nodejs
>测试:restler.mocha.assert.request.request-promise >安装:nrm >运维:pm2.node-gyp >开发:nodemon.in ...
- 与你相遇好幸运,async解决循环回调问题
由于使用的sailsjs框架,用的是sailsjs自身带的ORm(就是waterline),ORM的默认数据库的返回值在回调里面. > arg是一个数组 count用来计数用 tmpArr临时存 ...
- 与你相遇好幸运,Sails.js安装
官网: http://sailsjs.org Github:https://github.com/balderdashy/sails 开发文档: http://sailsjs.org/document ...
- 与你相遇好幸运,使用redis设置定时任务
参考链接: Nodejs中使用Redis来完成定时任务 自己在 window 7下编码实现: 1 > 首先查看redis版本: redis-server -v , 版本要求大于等于2.8 2&g ...
- 与你相遇好幸运,制作自己的Yeoman Generator
使用别人写好的生成器: npm install -g yonpm install -g generator-angularyo angular 如何自己制作符合自己心仪的生成器呢: https://g ...
- 与你相遇好幸运,gen8安装
gen8到手后,立马去买了 SSD https://item.jd.com/2010277.html 支架 https://item.jd.com/2671609.html NAS盘 https:// ...
- 与你相遇好幸运,德淘gen8历程
应该是十月底了 , 在浏览色魔张大妈(smzdm) http://www.smzdm.com/p/6517684/ 的时候看见了这个 , 以前大学就想买个这个 , 苦于没钱.... 然后当时打算买 , ...
随机推荐
- C++输入输出流
一.C++输入输出流的含义 以前所用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上.从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件.程序的输入指的 ...
- ion-slide-box,无限循环
ion-slide-box网络加载图片,及时更新,无限循环 does-continue:是否循环切换,开头的幻灯页只能向左滑动,最后的幻灯页只能向右滑动. 将does-continue属性值设为tru ...
- SVN版本冲突解决
解决冲突有三种选择: A.放弃自己的更新,使用svn revert(回滚),然后提交.在这种方式下不需要使用svn resolved(解决) B.放弃自己的更新,使用别人的更新.使用最新获取的版本覆盖 ...
- 11.1---有序数组合并(CC150)
这道题比较简单,就是通过从后往前复制大的就可以了.最后比较注意的就是如果B还没复制完要记得接着复制. import java.util.Arrays; public class Solution{ p ...
- centos 安装gcc时,出错:Found 10 pre-existing rpmdb problem(s), 'yum check' output follows:
别人折腾的系统. 刚开始,准备安装下tornado,报错,需要安装 gcc 和 python-devel gcc安装报错,如标题所示: 谷歌了一把: http://stackoverflow.com/ ...
- CentOS用yum安装、配置MariaDB
.创建/etc/yum.repos.d/MariaDB.repo文件,这里用到了刚刚发布正式版的10. [mariadb] name = MariaDB baseurl = http://yum.ma ...
- HTTP 格式
HTTP请求报文和HTTP响应报文 HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. HTTP请求报文 一个HTT ...
- Flatten 2D Vector
Implement an iterator to flatten a 2d vector. For example, Given 2d vector = [ [1,2], [3], [4,5,6] ] ...
- 理解和解决MySQL乱码问题【转】
本文来自:http://www.cnblogs.com/cenalulu/p/4325693.html 要了解为什么会出现乱码,我们就先要了解从客户端发起请求,到MySQL存储数据,再到下次从表取回客 ...
- 关闭window 8.1 的skydrive
gpedit.msc-->计算机配置-->管理模板-->windows组件 -->skydrive-->阻止使用skydrive执行文件存储