Toolverse
Wszystkie skille

typegoose-patterns

autor: mx-space

Szablony modeli TypeGoose dla MongoDB — definiuj schematy danych w TypeScript z walidacją i indeksami

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Mobile
Wyświetlenia
3

O skillu

Zbiór wzorców i dekoratorów TypeGoose ułatwiających tworzenie modeli danych MongoDB w projekcie MX Space. Zawiera gotowe klasy bazowe (BaseModel, WriteBaseModel, BaseCommentIndexModel) oraz przykłady pól wymaganych, unikalnych, indeksowanych i referencyjnych. Zastosuj przy definiowaniu schematów, tworzeniu modeli z dziedziczeniem, ustawianiu walidacji i zarządzaniu relacjami między kolekcjami. Idealne dla developerów pracujących z TypeGoose w ekosystemie MX Space.

Jak używać

  1. Zainstaluj skill typegoose-patterns w swoim projekcie MX Space — będzie dostępny jako referencja wzorców podczas tworzenia nowych modeli danych.

  2. Przy tworzeniu nowego modelu dziedzicz z odpowiedniej klasy bazowej: BaseModel dla modeli podstawowych, WriteBaseModel dla modeli zawierających treść (tytuł, tekst, obrazy), lub BaseCommentIndexModel jeśli model ma obsługiwać komentarze.

  3. Zdefiniuj pola modelu za pomocą dekoratora @prop(), wskazując wymagane opcje: @prop({ required: true }) dla pól obowiązkowych, @prop({ unique: true }) dla pól unikalnych, @prop({ default: value }) dla wartości domyślnych, @prop({ trim: true }) dla automatycznego usunięcia białych znaków.

  4. Dodaj indeksy na poziomie klasy za pomocą @index() — użyj @index({ fieldName: 1 }) dla indeksu rosnącego, @index({ fieldName: -1 }) dla malejącego, lub @index({ field: 'text' }) dla indeksu tekstowego, aby przyspieszyć zapytania.

  5. Jeśli model ma referencje do innych kolekcji, użyj dekoratora @prop({ ref: () => OtherModel }) wraz z typem Ref — opcjonalnie dodaj foreignField i localField do automatycznego populowania powiązanych dokumentów.

  6. Ustaw customName w @modelOptions() aby określić nazwę kolekcji MongoDB, jeśli różni się od domyślnej nazwy klasy.

Podobne skille