基本模型
此示例顯示如何在 Sails.js 中定義簡單模型
你可以通過鍵入生成空模型檔案
sails generate model car
你會在 api/models/
找到新檔案 Car.js
。
接下來,你將填寫一些詳細資訊。
modules.exports = {
tableName : 'cars',
connection : 'mongodb',
attributes : {
id : {
type : 'integer',
unique : true,
primaryKey : true,
autoIncrement : true
},
brand : {
type : 'string',
size : 25
},
description : {
type: 'text',
defaultsTo : ''
},
price : {
type : 'float',
required : true
},
seats : {
type : 'integer'
},
sell_date : {
type : 'datetime'
},
has_cooler : {
type : 'boolean',
columnName : 'cooler'
},
chassis_number : {
unique : true,
type : 'string'
},
color : {
type : 'string',
enum: ['white', 'red', 'black']
}
}
};
上面的示例幾乎使用了所有可能的模型選項,如下所述。
tableName
此引數定義將在資料庫中建立的表的名稱。如果未定義,將使用模型名稱(在此示例中為 car
)。
2.連線
此特定定義用於模型的資料庫連線。該連線的詳細資訊在 config/connections.js
內的 mongodb
鍵下定義。這是連線的格式:
mongodb : {
// The driver that connect our models with the database
adapter : '<adapter>',
// The database parameters
user : '<username>',
port : <port>,
host : '<host>',
database : '<database>'
}
3.屬性
每個屬性都引用模型的資料庫表中的列。在此示例中,將建立九列。每列可以配置一個或多個以下鍵:
- type :列的資料型別。此頁面列出了所有可用的型別。
- unique :如果為 true,則嘗試建立與此列中的值相同的物件時,將發生錯誤。
- primaryKey :如果為 true,則列將作為主鍵。
- autoIncrement :序列將與列關聯,並且自動可遞增數字從 0 開始。
- size :列的最大長度。
- required :如果為 true,則不能為 null。
- columnName :這將配置資料庫中的列,預設為屬性名稱。
- 列舉 :我們可以為屬性設定一組可能的選項。