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.


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow