Suche…


Bemerkungen

Sails wird mit einem leistungsstarken ORM / ODM-Gerät namens Waterline geliefert, einem Werkzeug, das keine Daten speichern kann und die Interaktion mit einer oder mehreren Datenbanken erheblich vereinfacht. Sie bietet eine Abstraktionsebene über der zugrunde liegenden Datenbank, mit der Sie Ihre Daten einfach abfragen und bearbeiten können, ohne herstellerspezifischen Integrationscode zu schreiben.

Grundmodell

Dieses Beispiel zeigt, wie Sie ein einfaches Modell in Sails.js definieren

Sie können eine leere Modelldatei erstellen, indem Sie sie eingeben

sails generate model car

Sie finden die neue Datei Car.js in api/models/ .

Als Nächstes geben Sie einige Details ein.

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

  }

};

Das obige Beispiel verwendet nahezu jede mögliche Modelloption, die im Folgenden erläutert wird.

1. tableName

Dieser Parameter definiert den Namen der Tabelle, die in der Datenbank erstellt wird. Wenn nicht definiert, wird der Modellname verwendet (in diesem Beispiel car ).

2. Verbindung

Dies definiert insbesondere die Datenbankverbindung, die für das Modell verwendet wird. Die Details dieser Verbindung werden unter dem Schlüssel mongodb in config/connections.js . Hier ist das Format einer Verbindung:

mongodb : {

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

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

}

3. Attribute

Jedes Attribut verweist auf eine Spalte in der Datenbanktabelle für das Modell. In diesem Beispiel werden neun Spalten erstellt. Jede Spalte kann mit einem oder mehreren der folgenden Schlüssel konfiguriert werden:

  • type : Der Datentyp der Spalte. Diese Seite listet alle verfügbaren Typen auf.
  • unique : Wenn "true", wird ein Fehler angezeigt, wenn Sie versuchen, ein Objekt zu erstellen, das denselben Wert für diese Spalte hat wie das bereits in der Datenbank vorhandene.
  • primaryKey : Bei true wird die Spalte als Primärschlüssel verwendet.
  • autoIncrement : Der Spalte wird eine Sequenz mit einer automatisch inkrementierbaren Nummer zugeordnet, die bei 0 beginnt.
  • Größe : Die maximale Länge der Spalte.
  • erforderlich : Wenn true, kann es nicht null sein.
  • columnName : Hiermit wird die Spalte in der Datenbank konfiguriert, deren Standardwert der Attributname ist.
  • enum : Wir können eine Reihe von möglichen Optionen für ein Attribut festlegen.


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow