与你相遇好幸运,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/ 的时候看见了这个 , 以前大学就想买个这个 , 苦于没钱.... 然后当时打算买 , ...
随机推荐
- Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]
在这一关卡我学到了 1.万能密码的构造,大概的去揣测正常的SQL语句是如何的. 2. 3. 00x1 SQL万能密码的构造 在登录框当中可以添加了一个单引号.报错信息如下所示: 据此报错,我们大概的可 ...
- Github如何更新远程代码
1.git add . 2.git commit -m "Second commit" 3.git push origin master
- 标签语义化之常用HTML标签
一.布局的理解误区 网络上流行管新型的布局方式叫“DIV+CSS”,其实是一个错误的理解,导致了很多人过度依赖与滥用DIV标签, HTML提供了我们一共七八十个标签,其中常用的有三十个左右,DIV不过 ...
- 一次完整的HTTP事务是怎样一个过程?
一次完整的HTTP事务是怎样一个过程? 声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解. 关于HTTP协议可以参考以下: HTTP协议漫谈 http://kb.cnblog ...
- 解决maven项目移动
解决使用maven的工程移动到另一台电脑(电脑无法访问maven中央仓库问题) 移动后出现下述结果: Publishing failedPublishing failed with multiple ...
- 【GoLang】golang中可以直接返回slice吗?YES
结论: 可以,slice本质是结构体,返回slice时返回的是结构体的值,结构体的指针.len.cap等信息也全部返回了. 如下: type slice struct { start *uintptr ...
- 图形化的Git
原文:http://gitbook.liuhui998.com/6_5.html Git有不少图形化界面工具用于读取和维护仓库. 捆绑的GUI Git自带了两个使用Tcl/Tk写成的GUI程序. Gi ...
- emmet 太 hackble 了 。。。
http://www.open-open.com/lib/view/open1451954899292.html
- android上的图片占用内存问题
近日正在把ios程序移植到android上,以前没做过android的程序,于是,想当然地把ios的图片资源放到了android工程的drawable文件夹下,这些图片都是png. 程序界面也很正常. ...
- Qt 改变图片大小
void Setting_TabProduct::changeImageSize(int width,int height,QString imgFile) { QPixmap pixmap(imgF ...