orm2 中文文档 3. 定义模型
来源:互联网 发布:中国毫无言论自由知乎 编辑:程序博客网 时间:2024/06/05 01:10
译者:飞龙
来源:Defining Models
在[连接](1. Connecting to Database.md)之后,你可以使用连接对象(db
)来定义你的模型。你需要指定模型的名称,一个用于描述的属性和一些(可选的)选项。下面是一个简短的例子:
var Person = db.define('person', { id: {type: 'serial', key: true}, // the auto-incrementing primary key name: {type: 'text'}, surname: {type: 'text'}, age: {type: 'number'}}, { methods : { fullName: function() { return this.name + ' ' + this.surname; } }});
这个模型叫做person
(通常也是数据库里面表的名称),它有三个属性(name
和surname
为文本,age
为数值)。如果你自己不指定任何键的话,默认的id: { type: 'serial', key: true }
会添加进来。在这个例子中,有个模型方法叫做fullName
。下面是这个模型的使用方法的示例:
Person.get(73, function(err, person) { if (err) throw err; console.log('Hi, my name is ' + person.fullName());});
这会获取id=73
的person
对象,并且打印出它的名字和姓氏。其它类型的可用属性请见[这里](3.1 Model Properties.md)。
API
/** * @param {Object} props Property definitions * @param {Object} opts Options */db.define(props, opts)
db.define()
接收的第一个对象(第二个参数)被称为属性对象,它定义了所有的[属性](3.1 Model Properties.md)。
第二个对象指定了额外的选项:
collection
String
覆写数据库中表的名称 methods
Object
模型实例上的额外方法,它会被设置到实例上。 hooks
Object
用户定义的[钩子或回调](3.3 Model Hooks.md) validations
Object
用户定义的[验证器](3.2 Model Validations.md) id
Array
为了支持在properties
上设置key: true
而不提倡使用 cache
Boolean
允许你开启或者禁用单例行为。它叫做cache
,但是和缓存毫无关系。 autoSave
Boolean
不推荐。在属性修改时自动保存模型。 autoFetch
Boolean
是否自动获取关联 autoFetchLimit
Number
自动获取关联的深度 cascadeRemove
Boolean
删除实例时是否要删除关联 0 0
- orm2 中文文档 3. 定义模型
- orm2 中文文档 4. 定义关联
- orm2 中文文档 3.1 模型属性
- orm2 中文文档 3.2 模型验证器
- orm2 中文文档 3.3 模型钩子
- orm2 中文文档
- orm2 中文文档 5. 同步和删除模型
- orm2 中文文档 2. 设置
- orm2 中文文档 8. 聚合
- orm2 中文文档 1. 连接到数据库
- orm2 中文文档 6. 查找记录
- orm2 中文文档 4.1 hasOne(多对一关系)
- orm2 中文文档 4.2 hasMany(多对多关系)
- orm2 中文文档 4.3 extendsTo(一对一关系)
- orm2 中文文档 7. 创建和更新记录
- 【Chromium中文文档】进程模型
- Sequel中文文档-模型-关联基础
- 【Scikit-Learn 中文文档】广义线性模型
- error C2668: “pow”: 对重载函数的调用不明确
- HTTP中的状态码
- JS中如何判断变量是否为空,有和PHP一样的isset()和empty()函数么?
- 网络操作学习 笔记
- Could not create the view: An unexpected exception was thrown.问题解决
- orm2 中文文档 3. 定义模型
- LeetCode Maximum Subarray
- JBPM 入门教程及框架搭建实例代码
- 逻辑地址、线性地址、物理地址和虚拟地址
- Spring boot quick start
- 燕十八视频--CSS
- 算法导论课后习题解析 第四章 下
- JMS入门实例
- libusb学习-1