Bu belge AI tarafından çevrilmiştir. Herhangi bir yanlışlık için lütfen İngilizce sürümüne bakın
koleksiyon, sistemdeki veri modellerini (model adları, alanlar, indeksler, ilişkiler gibi) tanımlamak için kullanılır.
Genellikle, bir Database örneğinin collection metodu üzerinden bir proxy girişi olarak çağrılır.
Daha fazla alan türü için lütfen Alanlar bölümüne bakın.
İmza
constructor(options: CollectionOptions, context: CollectionContext)Parametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
options.name | string | - | koleksiyon tanımlayıcısı |
options.tableName? | string | - | Veritabanı tablo adı. Sağlanmazsa, options.name değeri kullanılır. |
options.fields? | FieldOptions[] | - | Alan tanımları. Detaylar için Alan bölümüne bakın. |
options.model? | string | ModelStatic<Model> | - | Sequelize Model tipi. Eğer string kullanılırsa, model adının daha önce db üzerinde kaydedilmiş olması gerekir. |
options.repository? | string | RepositoryType | - | Depo tipi. Eğer string kullanılırsa, depo tipinin daha önce db üzerinde kaydedilmiş olması gerekir. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Sıralanabilir alan yapılandırması. Varsayılan olarak sıralanmaz. |
options.autoGenId? | boolean | true | Benzersiz birincil anahtarın otomatik olarak oluşturulup oluşturulmayacağı. Varsayılan olarak true. |
context.database | Database | - | Mevcut bağlamdaki veritabanı. |
Örnek
Bir gönderi koleksiyonu oluşturun:
optionskoleksiyon için başlangıç yapılandırma parametreleri. Kurucu fonksiyonun options parametresiyle aynıdır.
contextMevcut koleksiyonun ait olduğu bağlam, şu anda başlıca veritabanı örneğidir.
namekoleksiyon adı.
dbAit olduğu veritabanı örneği.
filterTargetKeyBirincil anahtar olarak kullanılan alan adı.
isThroughBir ara koleksiyon olup olmadığı.
modelSequelize Model tipiyle eşleşir.
repositoryDepo örneği.
getField()koleksiyonda tanımlanmış, ilgili ada sahip alan nesnesini alır.
İmza
getField(name: string): FieldParametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
name | string | - | Alan adı |
Örnek
setField()koleksiyona bir alan ayarlar.
İmza
setField(name: string, options: FieldOptions): FieldParametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
name | string | - | Alan adı |
options | FieldOptions | - | Alan yapılandırması. Detaylar için Alan bölümüne bakın. |
Örnek
setFields()koleksiyona birden fazla alanı toplu olarak ayarlar.
İmza
setFields(fields: FieldOptions[], resetFields = true): Field[]Parametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
fields | FieldOptions[] | - | Alan yapılandırması. Detaylar için Alan bölümüne bakın. |
resetFields | boolean | true | Mevcut alanların sıfırlanıp sıfırlanmayacağı. |
Örnek
removeField()koleksiyonda tanımlanmış, ilgili ada sahip alan nesnesini kaldırır.
İmza
removeField(name: string): void | FieldParametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
name | string | - | Alan adı |
Örnek
resetFields()koleksiyonun alanlarını sıfırlar (temizler).
İmza
resetFields(): voidÖrnek
hasField()koleksiyonda ilgili ada sahip bir alan nesnesinin tanımlı olup olmadığını kontrol eder.
İmza
hasField(name: string): booleanParametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
name | string | - | Alan adı |
Örnek
findField()koleksiyonda kriterlere uyan bir alan nesnesi bulur.
İmza
findField(predicate: (field: Field) => boolean): Field | undefinedParametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Arama kriteri |
Örnek
forEachField()koleksiyondaki alan nesneleri üzerinde döner.
İmza
forEachField(callback: (field: Field) => void): voidParametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
callback | (field: Field) => void | - | Geri çağırma fonksiyonu |
Örnek
addIndex()koleksiyona bir indeks ekler.
İmza
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Parametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
index | string | string[] | - | İndekslenecek alan adı(ları). |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Tam yapılandırma. |
Örnek
removeIndex()koleksiyondan bir indeksi kaldırır.
İmza
removeIndex(fields: string[])Parametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
fields | string[] | - | Kaldırılacak indeksin alan adları kombinasyonu. |
Örnek
remove()koleksiyonu siler.
İmza
remove(): voidÖrnek
sync()koleksiyon tanımını veritabanına senkronize eder. Sequelize'deki varsayılan Model.sync mantığına ek olarak, ilişki alanlarına karşılık gelen koleksiyonları da işler.
İmza
sync(): Promise<void>Örnek
existsInDb()koleksiyonun veritabanında mevcut olup olmadığını kontrol eder.
İmza
existsInDb(options?: Transactionable): Promise<boolean>Parametreler
| Parametre Adı | Tip | Varsayılan Değer | Açıklama |
|---|---|---|---|
options?.transaction | Transaction | - | İşlem örneği |
Örnek
removeFromDb()İmza
removeFromDb(): Promise<void>Örnek