sails.js
Modelli
Ricerca…
Osservazioni
Sails viene installato con un potente ORM / ODM chiamato Waterline, uno strumento agostino-datastore che semplifica notevolmente l'interazione con uno o più database. Fornisce un livello di astrazione sopra il database sottostante, consentendo di interrogare e manipolare facilmente i dati senza scrivere codice di integrazione specifico del fornitore.
Modello base
Questo esempio mostra come definire un modello semplice in Sails.js
È possibile generare un file di modello vuoto digitando
sails generate model car
Troverai il nuovo file Car.js
in api/models/
.
Quindi, inserisci alcuni dettagli.
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']
}
}
};
L'esempio sopra riportato utilizza quasi tutte le possibili opzioni di modello, che sono illustrate di seguito.
1. tableName
Questo parametro definisce il nome della tabella che verrà creata nel database. Se non definito, verrà utilizzato il nome del modello ( car
in questo esempio).
2. connessione
Questo particolare definisce la connessione al database utilizzata per il modello. I dettagli di tale connessione sono definiti sotto la chiave mongodb
all'interno di config/connections.js
. Ecco il formato di una connessione:
mongodb : {
// The driver that connect our models with the database
adapter : '<adapter>',
// The database parameters
user : '<username>',
port : <port>,
host : '<host>',
database : '<database>'
}
3. attributi
Ogni attributo fa riferimento a una colonna nella tabella del database per il modello. In questo esempio, verranno create nove colonne. Ogni colonna può essere configurata con uno o più dei seguenti tasti:
- tipo : il tipo di dati della colonna. Questa pagina elenca tutti i tipi disponibili.
- unique : Se true, si verificherà un errore se si tenta di creare un oggetto che abbia lo stesso valore per questa colonna come già nel database.
- primaryKey : se true, la colonna funzionerà come chiave primaria.
- autoIncrement : una sequenza verrà associata alla colonna con un numero incrementale automatico che inizia da 0.
- dimensione : la lunghezza massima della colonna.
- richiesto : se true, non può essere nullo.
- columnName : configura la colonna nel database, che assume come valore predefinito il nome dell'attributo.
- enum : possiamo impostare una serie di opzioni possibili per un attributo.