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