Buscar..


Observaciones

Sails viene instalado con un potente ORM / ODM llamado Waterline, una herramienta independiente del almacén de datos que simplifica enormemente la interacción con una o más bases de datos. Proporciona una capa de abstracción sobre la base de datos subyacente, lo que le permite consultar y manipular fácilmente sus datos sin escribir el código de integración específico del proveedor.

Modelo basica

Este ejemplo muestra cómo definir un modelo simple en Sails.js

Puede generar un archivo de modelo vacío escribiendo

sails generate model car

Encontrará el nuevo archivo Car.js en api/models/ .

A continuación, rellene algunos detalles.

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']
    }

  }

};

El ejemplo anterior utiliza casi todas las opciones de modelo posibles, que se explican a continuación.

1. tableName

Este parámetro define el nombre de la tabla que se creará en la base de datos. Si no se define, se utilizará el nombre del modelo ( car en este ejemplo).

2. conexión

Este particular define la conexión de base de datos utilizada para el modelo. Los detalles de esa conexión se definen en la clave mongodb dentro de config/connections.js . Aquí está el formato de una conexión:

mongodb : {

  // The driver that connect our models with the database
  adapter : '<adapter>',

  // The database parameters
  user : '<username>',
  port : <port>,
  host : '<host>',
  database : '<database>'

}

3. atributos

Cada atributo hace referencia a una columna en la tabla de base de datos para el modelo. En este ejemplo, se crearán nueve columnas. Cada columna se puede configurar con una o más de las siguientes claves:

  • tipo : el tipo de datos de la columna. Esta página lista todos los tipos disponibles.
  • único : si es verdadero, se producirá un error si intenta crear un objeto que tenga el mismo valor para esta columna que uno ya en la base de datos.
  • primaryKey : Si es verdadero, la columna funcionará como clave principal.
  • autoIncrement : se asociará una secuencia a la columna con un número autoejecutable que comienza en 0.
  • tamaño : la longitud máxima de la columna.
  • requerido : Si es verdadero, no puede ser nulo.
  • columnName : esto configura la columna en la base de datos, que por defecto es el nombre del atributo.
  • enumeración : podemos establecer una serie de opciones posibles para un atributo.


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow