sails.js
Des modèles
Recherche…
Remarques
Sails est livré avec un puissant ORM / ODM appelé Waterline, un outil indépendant du magasin de données qui simplifie considérablement l’interaction avec une ou plusieurs bases de données. Il fournit une couche d'abstraction au-dessus de la base de données sous-jacente, ce qui vous permet d'interroger et de manipuler facilement vos données sans écrire de code d'intégration spécifique au fournisseur.
Modèle de base
Cet exemple montre comment définir un modèle simple dans Sails.js
Vous pouvez générer un fichier modèle vide en tapant
sails generate model car
Vous trouverez le nouveau fichier Car.js
dans api/models/
.
Ensuite, vous remplissez certains détails.
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'exemple ci-dessus utilise presque toutes les options de modèle possibles, expliquées ci-dessous.
1. tableName
Ce paramètre définit le nom de la table qui sera créée dans la base de données. S'il n'est pas défini, le nom du modèle sera utilisé ( car
dans cet exemple).
2. connexion
Ce particulier définit la connexion à la base de données utilisée pour le modèle. Les détails de cette connexion sont définis sous la clé mongodb
dans config/connections.js
. Voici le format d'une connexion:
mongodb : {
// The driver that connect our models with the database
adapter : '<adapter>',
// The database parameters
user : '<username>',
port : <port>,
host : '<host>',
database : '<database>'
}
3. attributs
Chaque attribut référence une colonne dans la table de base de données pour le modèle. Dans cet exemple, neuf colonnes seront créées. Chaque colonne peut être configurée avec une ou plusieurs des clés suivantes:
- type : Le type de données de la colonne. Cette page répertorie tous les types disponibles.
- unique : si la valeur est true, une erreur se produira si vous essayez de créer un objet ayant la même valeur pour cette colonne que celui déjà présent dans la base de données.
- primaryKey : Si true, la colonne fonctionnera comme clé primaire.
- autoIncrement : Une séquence sera associée à la colonne avec un numéro auto incrémentable commençant à 0.
- size : la longueur maximale de la colonne.
- required : Si true, il ne peut pas être nul.
- columnName : configure la colonne dans la base de données, qui utilise par défaut le nom de l'attribut.
- enum : Nous pouvons définir un tableau d'options possibles pour un attribut.