前面一系列介绍 Sails 框架学习
今天和大家分享 Sails 框架下模型自带的方法
1 . create(),
update(),
destroy(),
find(),
findOne(),
destroy(),
findOrCreate()
count(),
create() 创建记录 TestUser.create({name:'yijiebuy', email:'admin@yijiebuyi.com', gender:'male', age: '30'}, function(err, model){
});
创建一条新纪录后,回调函数
上一篇是关于 sails 定义模型models 属性字段定义类型
这一篇和大家分享关于 sails 的 orm框架 WaterLine 在与数据库操作过程中的生命周期控制.
生命周期
WaterLine 在执行过程中的生命周期可以简单的理解为:
调用前干什么
调用中.....
调用后干什么
具体有哪些操作会执行上面的生命周期
创建 create
创建记录时生命周期依次执行下面几个步骤:
验证模型数据之前..
验证模型数据之后..
创建记录之前..
创建记录之后..
beforeValidate: fn(values, callback)
afterValidate: fn(values
Waterline Models 字段定义类型设置
waterline 中涉及到的字段类型如下:
string
text
integer
float
date
time
datetime
boolean
binary
array
json
模型属性 module.exports = {
identity: 'Article_content',
autoCreatedAt:false,
autoUpdatedAt:false,
tableName:'Article_Content',
autoPK:false,
attributes: {
}
}
ide
之前有一篇简单介绍了 Sails下orm框架 waterline
Waterline 常用的查询方法 find 条件查询 事例:
models.user.find().exec(function(err, models) {
if(err)
return res.json({ err: err }, 500);
});
上面事例的 find 方法无参数,相当于全表查询,最后执行 exec 方法拿到数据.
现在我们来看下 find 方法可以接受哪些参数呢.
find 方法可以接收 3类参数:
过滤条件 where
查询条数限制 skip 和 limit
排序条件 so
blueprints 是 sails 框架特色功能
Sails中的路由,blueprint 功不可没,网上翻译成 "蓝图" ,
Sails的blueprint是负责指挥每一条客户端请求应该分配到服务器端的哪个Action去 ,你可以理解成路由的"调度中心"
blueprint主要分为三种:RESTful routes、Shortcut routes、Action routes .
RESTful routes 当路径诸如:
/:post 或者 /:post/:id的时候,blueprint会根据HTTP的动作(GET、POST、DELETE、PUT等
上一篇介绍了 使用sails框架快速搭建项目
今天和大家分享 sails 另外一个重要的功能模块:
sails的ORM实现 什么是ORM
Java 中的 Hibernate 框架的一个重要功能便是将数据库中的数据与 Java 中的对象进行映射,被称为 ORM (Object Relational Mapping),
Node.js 里常用的 Mongoose ,便是将 MongoDB 的文档,映射为 JavaScript 的对象,
而 Waterline 可以看做是一个支持多种数据库的 Mongoose ,使得可以用一样的代码来实现对多种数据库的操作,无论是关系数据库还是文档数据库,都可
什么是Sails Sails.js使部署一个定制的企业级Node.js应用变成一件极为简单的事,它的设计模仿了像Ruby on Rails这样的MVC框架,但是更支持现代应用的开发需求:可扩展的数据驱动层的API,面向服务的架构,Sails.js允许你方便快速得使用Node.js生成应用,并通过MVC模式来使管理和维护代码变得更加简单.
使用 Sails Sails.js 依赖 node.js ,使用时确保你的环境安装了 node.js 环境.
npm install sails -g
搭建项目 安装了 node.js 和 sails.js 的环境,只需要一条命令即可创建 sails 框架
sails安装
npm install -g sails
sails创建新项目
sails new test
sails目录结构
test api
controllers(控制器相关,业务逻辑)
models(模块开发)
policies(用于路由过滤)
responses(定制所需的响应:如404 res.notFound())
services(定制一些常用的工具类–全局的)
assets(静态资源文件)
images
js
styles
templates
favicon.ico
config(整个