sails.js
modeller
Sök…
Anmärkningar
Sails levereras med ett kraftfullt ORM / ODM som heter Waterline, ett datastore-agnostiskt verktyg som dramatiskt förenklar interaktion med en eller flera databaser. Det ger ett abstraktionslager ovanpå den underliggande databasen, så att du enkelt kan fråga och manipulera dina data utan att skriva leverantörsspecifik integrationskod.
Grundmodell
Detta exempel visar hur man definierar en enkel modell i Sails.js
Du kan generera en tom modellfil genom att skriva
sails generate model car
Du hittar den nya filen Car.js
i api/models/
.
Därefter fyller du i några detaljer.
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']
}
}
};
Exemplet ovan använder nästan alla möjliga modellalternativ, som förklaras nedan.
1. tabellnamn
Denna parameter definierar namnet på tabellen som ska skapas i databasen. Om det inte definieras kommer modellnamnet att användas ( car
i det här exemplet).
2. anslutning
Den här specifika definierar databasanslutningen som används för modellen. Detaljerna för den anslutningen definieras under mongodb
tangenten inuti config/connections.js
. Här är formatet för en anslutning:
mongodb : {
// The driver that connect our models with the database
adapter : '<adapter>',
// The database parameters
user : '<username>',
port : <port>,
host : '<host>',
database : '<database>'
}
3. attribut
Varje attribut hänvisar till en kolumn i databastabellen för modellen. I det här exemplet skapas nio kolumner. Varje kolumn kan konfigureras med en eller flera av följande knappar:
- typ : kolumnens datatyp. Denna sida visar alla tillgängliga typer.
- unikt : Om det är sant kommer ett fel att uppstå om du försöker skapa ett objekt som har samma värde för den här kolumnen som redan finns i databasen.
- primär nyckel : Om det är sant kommer kolumnen att fungera som primär nyckel.
- autoIncrement : En sekvens kommer att kopplas till kolumnen med ett automatiskt inkrementerat nummer som börjar på 0.
- storlek : Kolumnens maximala längd.
- krävs : Om det är sant kan det inte vara noll.
- columnName : Detta konfigurerar kolumnen i databasen, som är standard som attributnamnet.
- enum : Vi kan ställa in en rad möjliga alternativ för ett attribut.