与你相遇好幸运,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++输入输出流的含义 以前所用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上.从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件.程序的输入指的 ...
- Swift初学有一点难理解的东西,整理了一下,想明白了。
func makeIncrementer() -> (Int -> Int) { func addOne(number: Int) -> Int { ...
- [翻译]opengl扩展教程1
[翻译]opengl扩展教程1 原文地址https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/extensions.php [翻译]ope ...
- 11.6---矩阵查找元素(CC150)
思路,一旦提到查找就要想到二分查找. public static int[] findElement(int[][] a, int n, int m, int key) { // write code ...
- mysql “group by ”与"order by"的研究--分类中最新的内容
这两天让一个数据查询难了.主要是对group by 理解的不够深入.才出现这样的情况这种需求,我想很多人都遇到过.下面是我模拟我的内容表我现在需要取出每个分类中最新的内容 select * from ...
- struts2 提供的校验器列表
- FIDO 标准简介
FIDO 联盟(Fast IDentity Online Alliance)简介 网站:http://fidoalliance.org FIDO Alliance,成立于2012年7月. FIDO的目 ...
- Delphi Excel 操作大全
Delphi Excel 操作大全 (一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObj ...
- JAVA thread0.interrupt()方法
interrupt()只是改变中断状态而已,interrupt()不会中断一个正在运行的线程.这一方法实际上完成的是,给受阻塞的线程抛出一个中断信号,这样受阻线程就得以退出阻塞的状态. 更确切的说,如 ...
- PUTTY的使用教程
Putty是一个优秀的,开源的SSH远程登录软件. 它不仅仅可以实现登录,还有很多高级功能. PuTTY is a free SSH, Telnet and Rlogin client for 32- ...