Szukaj…


Uwagi

Żagle są instalowane z potężnym narzędziem ORM / ODM o nazwie Waterline, agnostycznym narzędziem do przechowywania danych, które znacznie upraszcza interakcję z jedną lub kilkoma bazami danych. Zapewnia warstwę abstrakcji na podstawowej bazie danych, umożliwiając łatwe wyszukiwanie danych i manipulowanie nimi bez pisania kodu integracji specyficznego dla dostawcy.

Model podstawowy

Ten przykład pokazuje, jak zdefiniować prosty model w Sails.js

Możesz wygenerować pusty plik modelu, wpisując

sails generate model car

Nowy plik Car.js w api/models/ .

Następnie podaj kilka szczegółów.

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

  }

};

W powyższym przykładzie wykorzystano prawie każdą możliwą opcję modelu, które wyjaśniono poniżej.

1. tableName

Ten parametr określa nazwę tabeli, która zostanie utworzona w bazie danych. Jeśli nie zostanie zdefiniowany, zostanie użyta nazwa modelu (w tym przykładzie car ).

2. połączenie

Ten konkretnie określa połączenie z bazą danych używane dla modelu. Szczegóły tego połączenia są zdefiniowane w kluczu mongodb w mongodb config/connections.js . Oto format połączenia:

mongodb : {

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

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

}

3. atrybuty

Każdy atrybut odwołuje się do kolumny w tabeli bazy danych modelu. W tym przykładzie zostanie utworzonych dziewięć kolumn. Każdą kolumnę można skonfigurować za pomocą jednego lub więcej następujących kluczy:

  • typ : typ danych kolumny. Ta strona zawiera listę wszystkich dostępnych typów.
  • unikatowy : jeśli wartość true, wystąpi błąd, jeśli spróbujesz utworzyć obiekt, który ma tę samą wartość dla tej kolumny, co już w bazie danych.
  • primaryKey : Jeśli true, kolumna będzie działać jako klucz podstawowy.
  • autoIncrement : Sekwencja zostanie powiązana z kolumną z automatycznie rosnącą liczbą rozpoczynającą się od 0.
  • rozmiar : maksymalna długość kolumny.
  • wymagane : Jeśli to prawda, nie może być zerowe.
  • columnName : konfiguruje kolumnę w bazie danych, która domyślnie przyjmuje nazwę atrybutu.
  • wyliczanie : Możemy ustawić tablicę możliwych opcji dla atrybutu.


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow