sails.js
Modelos
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.