Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej
Kolekcja służy do definiowania modeli danych w systemie, takich jak nazwy modeli, pola, indeksy, powiązania i inne informacje.
Zazwyczaj wywołuje się ją za pośrednictwem metody collection instancji Database jako punkt wejścia proxy.
Więcej typów pól znajdą Państwo w Pola.
Sygnatura
constructor(options: CollectionOptions, context: CollectionContext)Parametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
options.name | string | - | Identyfikator kolekcji |
options.tableName? | string | - | Nazwa tabeli bazy danych. Jeśli nie zostanie podana, użyta zostanie wartość z options.name. |
options.fields? | FieldOptions[] | - | Definicje pól. Szczegóły znajdą Państwo w Pola. |
options.model? | string | ModelStatic<Model> | - | Typ modelu Sequelize. Jeśli użyto string, nazwa modelu musi być wcześniej zarejestrowana w bazie danych. |
options.repository? | string | RepositoryType | - | Typ repozytorium danych. Jeśli użyto string, typ repozytorium musi być wcześniej zarejestrowany w bazie danych. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Konfiguracja pola do sortowania danych. Domyślnie brak sortowania. |
options.autoGenId? | boolean | true | Czy automatycznie generować unikalny klucz główny. Domyślnie true. |
context.database | Database | - | Baza danych w bieżącym kontekście. |
Przykład
Tworzenie kolekcji postów:
optionsPoczątkowe parametry konfiguracji dla kolekcji. Identyczne jak parametr options konstruktora.
contextKontekst, do którego należy bieżąca kolekcja, obecnie głównie instancja bazy danych.
nameNazwa kolekcji.
dbInstancja bazy danych, do której należy.
filterTargetKeyNazwa pola używanego jako klucz główny.
isThroughCzy jest to kolekcja pośrednia.
modelOdpowiada typowi modelu Sequelize.
repositoryInstancja repozytorium.
getField()Pobiera obiekt pola o odpowiadającej nazwie, zdefiniowany w kolekcji.
Sygnatura
getField(name: string): FieldParametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
name | string | - | Nazwa pola |
Przykład
setField()Ustawia pole dla kolekcji.
Sygnatura
setField(name: string, options: FieldOptions): FieldParametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
name | string | - | Nazwa pola |
options | FieldOptions | - | Konfiguracja pola. Szczegóły znajdą Państwo w Pola. |
Przykład
setFields()Ustawia wiele pól dla kolekcji w trybie wsadowym.
Sygnatura
setFields(fields: FieldOptions[], resetFields = true): Field[]Parametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
fields | FieldOptions[] | - | Konfiguracja pól. Szczegóły znajdą Państwo w Pola. |
resetFields | boolean | true | Czy zresetować istniejące pola. |
Przykład
removeField()Usuwa obiekt pola o odpowiadającej nazwie, zdefiniowany w kolekcji.
Sygnatura
removeField(name: string): void | FieldParametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
name | string | - | Nazwa pola |
Przykład
resetFields()Resetuje (czyści) pola kolekcji.
Sygnatura
resetFields(): voidPrzykład
hasField()Sprawdza, czy obiekt pola o odpowiadającej nazwie jest zdefiniowany w kolekcji.
Sygnatura
hasField(name: string): booleanParametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
name | string | - | Nazwa pola |
Przykład
findField()Znajduje w kolekcji obiekt pola spełniający określone kryteria.
Sygnatura
findField(predicate: (field: Field) => boolean): Field | undefinedParametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Kryteria wyszukiwania |
Przykład
forEachField()Iteruje po obiektach pól w kolekcji.
Sygnatura
forEachField(callback: (field: Field) => void): voidParametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
callback | (field: Field) => void | - | Funkcja zwrotna |
Przykład
addIndex()Dodaje indeks do kolekcji.
Sygnatura
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Parametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
index | string | string[] | - | Nazwa(y) pola(pól) do indeksowania. |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Pełna konfiguracja. |
Przykład
removeIndex()Usuwa indeks z kolekcji.
Sygnatura
removeIndex(fields: string[])Parametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
fields | string[] | - | Kombinacja nazw pól dla indeksu do usunięcia. |
Przykład
remove()Usuwa kolekcję.
Sygnatura
remove(): voidPrzykład
sync()Synchronizuje definicję kolekcji z bazą danych. Oprócz domyślnej logiki Model.sync w Sequelize, obsługuje również kolekcje odpowiadające polom powiązań.
Sygnatura
sync(): Promise<void>Przykład
existsInDb()Sprawdza, czy kolekcja istnieje w bazie danych.
Sygnatura
existsInDb(options?: Transactionable): Promise<boolean>Parametry
| Parametr | Typ | Wartość domyślna | Opis |
|---|---|---|---|
options?.transaction | Transaction | - | Instancja transakcji |
Przykład
removeFromDb()Sygnatura
removeFromDb(): Promise<void>Przykład