Поиск…


замечания

Паруса устанавливаются с мощным 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 : Мы можем установить массив возможных параметров для атрибута.


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow