orm2 中文文件 3. 定義模型
譯者:飛龍
在[連線](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 |
刪除例項時是否要刪除關聯 |
相關文章
- orm2 中文文件 4.3 extendsTo(一對一關係)ORM
- orm2 中文文件 1. 連線到資料庫ORM資料庫
- orm2 中文文件 4.2 hasMany(多對多關係)ORMASM
- DTD文件型別定義型別
- 如何定義API業務模型? - henriqAPI模型
- Mapbox詞彙表中文文件(查詢Mapbox相關的術語及其定義)
- XML中的DTD文件型別定義XML型別
- 模型的列表定義中,使用函式時如何定義引數?模型函式
- Laravel Baum 巢狀集合模型中文文件翻譯-部分Laravel巢狀模型
- DL4J中文文件/模型/自編碼器模型
- 《Wisdom Chain文件知識庫》之資產定義AI
- Detectron2-寫模型(Write Models)官方文件中文翻譯模型
- pytorch模型定義常用函式以及resnet模型修改案例PyTorch模型函式
- 查詢模型中所有Measure定義(DAX)模型
- mongoose中文文件Go
- aiohttp中文文件AIHTTP
- GORM 中文文件GoORM
- tailwindcss中文文件AICSS
- 請問模型管理中的模型的列表定義是什麼意思模型
- DOM 模型(文件物件模型)重點模型物件
- VB.Net中文教程(5)程式多重定義 (轉)
- Symfony4中文文件: 安裝和設定Symfony框架框架
- 【python官方文件】深入理解python函式定義Python函式
- JointJS中文文件JS
- Laravel Package 中文文件LaravelPackage
- Ace editor中文文件
- 蘋果文件 中文版蘋果
- NUnit中文說明文件
- Activiti中文文件地址
- PostgreSQL 8.2.3 中文文件SQL
- iptables中文man文件(轉)
- HttpRunner3原始碼閱讀:2. 模型定義HTTP原始碼模型
- Linux設定中文幫助文件、常見目錄、幫助命令Linux
- Elasticsearch6.5中文文件-刪除文件Elasticsearch
- 【jOOQ中文】3. 資料庫版本管理工具Flyway資料庫
- ChineseGLUE:為中文NLP模型定製的自然語言理解基準模型
- SnapKit 中文文件翻譯APK
- PHP-redis中文文件PHPRedis