与你相遇好幸运,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/ 的时候看见了这个 , 以前大学就想买个这个 , 苦于没钱.... 然后当时打算买 , ...
随机推荐
- WWDC15 Session笔记 - Xcode 7 UI 测试初窥
https://onevcat.com/2015/09/ui-testing/ WWDC15 Session笔记 - Xcode 7 UI 测试初窥 Unit Test 在 iOS 开发中已经有足够多 ...
- auto与decltype
今天搜狗笔试的一道选择题,原题给忘了,但记得所考的知识点.知识点很基础,但很容易忽视. 具体内容可参考C++ Primer. auto :变量取auto后,其所对应的类型 auto一般会 ...
- javascript最容易混淆的作用域、提升、闭包
一.函数作用域 1.函数作用域 就是作用域在一个“Function”里,属于这个函数的全部变量都可以在整个函数的范围内使用及复用. function foo(a) { var b = 2; funct ...
- phpcms评论框iframe无法自适应问题
问题背景: 之前用友言的时候改过网站的ip地址,改成127开头的了.但是协同开发的时候别人用的还是localhost. 结果在用评论的时候iframe死活不能自适应,看了一下源代码v9本身已经写过if ...
- 烂泥:php5.6源码安装及php-fpm配置
LNMP环境的搭建中,现在只有php没有源码安装过.这篇文章就把这个介绍下. 注意本篇文章使用的centos 6.5 64bit. 登陆centos下载php5.6的安装包.php的软件包可以去国内的 ...
- svn提交报错:svn: Aborting commit:XXXXXremains in conflict
Svn服务器上的对应内容,在上次Update后已被别人修改了,而我也做了修改,造成冲突.先备份自己的修改,从SVN上取一份别人的修改覆盖自己的文件,然后合并自己的修改进去,最后Commit.可以先更新 ...
- 【架构】How To Use HAProxy to Set Up MySQL Load Balancing
How To Use HAProxy to Set Up MySQL Load Balancing Dec 2, 2013 MySQL, Scaling, Server Optimization U ...
- MySQL表字段长度的限制
在MySQL建表时,遇到一个奇怪的现象: root::>CREATE TABLE tb_test ( ) NOT NULL, ) DEFAULT NULL, ) DEFAULT NULL, ) ...
- Django~urls.py--->views.py
The 'r' in front of each regular expression string is optional but recommended. It tells Python that ...
- ABAP 内表的行列转换-发货通知单-SLIS
REPORT Z_TEST_COL_TO_ROW. TYPE-POOLS: slis. TABLES: VTTP,LIPS,LIKP,KNA1 ,VTTK. DATA: gd_fieldcat TYP ...