orm2 中文文档 3.1 模型属性
来源:互联网 发布:网络彩票何时开售 编辑:程序博客网 时间:2024/06/05 02:42
译者:飞龙
来源:Model Properties
模型和一些关联具有一个或多个属性,每个属性有类型以及一些可选设置,你可以自行选择它们(或使用默认设置)。
类型
受支持的类型是:
text
:文本字符串;number
:浮点数。你可以指定size
为2 | 4 | 8
;integer
:整数。你可以指定size
为2 | 4 | 8
;boolean
:true
或false
的值;date
:日期对象。你可以指定time
为true
;enum
:一个备选列表中的值;object
:JSON对象;point
:N维的点(不被广泛支持);binary
:二进制数据;serial
:自增长的整数,用于主键。
每个类型都有额外的选项。这个模型定义使用了它们中的绝大多数:
var Person = db.define("person", { name : { type: "text", size: 50 }, surname : { type: "text", defaultValue: "Doe" }, male : { type: "boolean" }, vat : { type: "integer", unique: true }, country : { type: "enum", values: [ "USA", "Canada", "Rest of the World" ] }, birth : { type: "date", time: false }});
所有类型都支持required
(布尔值),unique
(布尔值)和defaultValue
(文本)。文本类型也支持最大尺寸(数值)和big
(布尔值,用于非常长的字符串)。数值类型是浮点数,支持size
(数值,字节大小)和unsigned
(布尔值)。日期类型支持time
(布尔值)。
要注意8字节的数值有其局限性。
如果你打算用默认选项,你可以使用原生类型来指定属性类型:
var Person = db.define("person", { name : String, male : Boolean, vat : Number, // FLOAT birth : Date, country : [ "USA", "Canada", "Rest of the World" ], meta : Object, // JSON photo : Buffer // binary});
将ORM字段映射到不同名称的数据库列中
var Person = db.define("person", { name : { type: 'text', mapsTo: 'fullname' }});
ORM属性name
映射person
表的fullname
列。
自定义类型
你可以向ORM添加你自己的类型,像这样:
db.defineType('numberArray', { datastoreType: function(prop) { return 'TEXT' }, // This is optional valueToProperty: function(value, prop) { if (Array.isArray(value)) { return value; } else { return value.split(',').map(function (v) { return Number(v); }); } }, // This is also optional propertyToValue: function(value, prop) { return value.join(',') }});var LottoTicket = db.define('lotto_ticket', { numbers: { type: 'numberArray' }});
一些可用的高级自定义类型,能够让你像 PostGIS 那样使用模型。请见这个 spec 。
0 0
- orm2 中文文档 3.1 模型属性
- orm2 中文文档 3. 定义模型
- orm2 中文文档 3.2 模型验证器
- orm2 中文文档 3.3 模型钩子
- orm2 中文文档
- orm2 中文文档 5. 同步和删除模型
- orm2 中文文档 2. 设置
- orm2 中文文档 8. 聚合
- orm2 中文文档 1. 连接到数据库
- orm2 中文文档 4. 定义关联
- orm2 中文文档 6. 查找记录
- orm2 中文文档 4.1 hasOne(多对一关系)
- orm2 中文文档 4.2 hasMany(多对多关系)
- orm2 中文文档 4.3 extendsTo(一对一关系)
- orm2 中文文档 7. 创建和更新记录
- 【Chromium中文文档】进程模型
- Sequel中文文档-模型-关联基础
- 【Scikit-Learn 中文文档】广义线性模型
- Oracle redo 与 undo 区别
- 读取图像中任意点的像素值
- hcatalog配置
- getElementsByClassName函数的兼容写法
- Java基础问题(二)
- orm2 中文文档 3.1 模型属性
- hdu 1596 find the safest road
- 概率论--第一章
- MYsQL优化SQL
- Virginia 密码的Maple实现
- Android 仿网易新闻 ViewPager 实现图片自动轮播
- 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
- NSURLSession下载(断点续传)
- 博客开篇