sails.js
модели
Поиск…
замечания
Паруса устанавливаются с мощным ORM / ODM под названием Waterline, инструмент агностирования хранилища данных, который значительно упрощает взаимодействие с одной или несколькими базами данных. Он обеспечивает уровень абстракции поверх базовой базы данных, позволяя вам легко запрашивать и управлять вашими данными без написания кода интеграции конкретного поставщика.
Базовая модель
В этом примере показано, как определить простую модель в Sails.js
Вы можете создать пустой файл модели, набрав
sails generate model car
Вы найдете новый файл Car.js
в api/models/
.
Затем вы заполните некоторые детали.
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']
}
}
};
В приведенном выше примере используется почти все возможные варианты модели, которые поясняются ниже.
1. tableName
Этот параметр определяет имя таблицы, которая будет создана в базе данных. Если не определено, имя модели будет использовано ( car
в этом примере).
2. подключение
Это определяет соединение с базой данных, используемое для модели. Детали этого соединения определяются под ключом mongodb
внутри config/connections.js
. Вот формат подключения:
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, оно не может быть нулевым.
- columnName : Этот параметр настраивает столбец в базе данных, который по умолчанию соответствует имени атрибута.
- enum : Мы можем установить массив возможных параметров для атрибута.