Cette documentation a été traduite automatiquement par IA.
Une collection est utilisée pour définir les modèles de données dans le système, incluant des informations telles que les noms de modèles, les champs, les index et les associations.
Vous l'appelez généralement via la méthode collection d'une instance Database, qui sert de point d'entrée.
Pour plus de types de champs, veuillez consulter Fields.
Signature
constructor(options: CollectionOptions, context: CollectionContext)Paramètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
options.name | string | - | Identifiant de la collection |
options.tableName? | string | - | Nom de la table de base de données. Si non fourni, la valeur de options.name sera utilisée. |
options.fields? | FieldOptions[] | - | Définitions des champs. Voir Field pour plus de détails. |
options.model? | string | ModelStatic<Model> | - | Type de modèle Sequelize. Si une string est utilisée, le nom du modèle doit avoir été préalablement enregistré sur la base de données. |
options.repository? | string | RepositoryType | - | Type de dépôt de données. Si une string est utilisée, le type de dépôt doit avoir été préalablement enregistré sur la base de données. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Configuration du champ de tri. Non triable par défaut. |
options.autoGenId? | boolean | true | Indique si une clé primaire unique doit être générée automatiquement. Par défaut à true. |
context.database | Database | - | La base de données dans le contexte actuel. |
Exemple
Créez une collection d'articles :
optionsParamètres de configuration initiaux de la collection. Identiques au paramètre options du constructeur.
contextLe contexte auquel appartient la collection actuelle, principalement l'instance de base de données.
nameNom de la collection.
dbL'instance de base de données à laquelle elle appartient.
filterTargetKeyLe nom du champ utilisé comme clé primaire.
isThroughIndique s'il s'agit d'une collection intermédiaire.
modelCorrespond au type de modèle Sequelize.
repositoryInstance du dépôt de données.
getField()Récupère l'objet champ correspondant au nom défini dans la collection.
Signature
getField(name: string): FieldParamètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
name | string | - | Nom du champ |
Exemple
setField()Définit un champ pour la collection.
Signature
setField(name: string, options: FieldOptions): FieldParamètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
name | string | - | Nom du champ |
options | FieldOptions | - | Configuration du champ. Voir Field pour plus de détails. |
Exemple
setFields()Définit plusieurs champs pour la collection en une seule fois.
Signature
setFields(fields: FieldOptions[], resetFields = true): Field[]Paramètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
fields | FieldOptions[] | - | Configuration des champs. Voir Field pour plus de détails. |
resetFields | boolean | true | Indique si les champs existants doivent être réinitialisés. |
Exemple
removeField()Supprime l'objet champ correspondant au nom défini dans la collection.
Signature
removeField(name: string): void | FieldParamètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
name | string | - | Nom du champ |
Exemple
resetFields()Réinitialise (vide) les champs de la collection.
Signature
resetFields(): voidExemple
hasField()Vérifie si un objet champ correspondant au nom est défini dans la collection.
Signature
hasField(name: string): booleanParamètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
name | string | - | Nom du champ |
Exemple
findField()Recherche un objet champ dans la collection qui correspond aux critères.
Signature
findField(predicate: (field: Field) => boolean): Field | undefinedParamètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Critères de recherche |
Exemple
forEachField()Itère sur les objets champs de la collection.
Signature
forEachField(callback: (field: Field) => void): voidParamètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
callback | (field: Field) => void | - | Fonction de rappel |
Exemple
addIndex()Ajoute un index à la collection.
Signature
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Paramètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
index | string | string[] | - | Nom(s) du/des champ(s) à indexer. |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Configuration complète. |
Exemple
removeIndex()Supprime un index de la collection.
Signature
removeIndex(fields: string[])Paramètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
fields | string[] | - | Combinaison des noms de champs pour l'index à supprimer. |
Exemple
remove()Supprime la collection.
Signature
remove(): voidExemple
sync()Synchronise la définition de la collection avec la base de données. En plus de la logique par défaut de Model.sync dans Sequelize, cette méthode gère également les collections correspondant aux champs d'association.
Signature
sync(): Promise<void>Exemple
existsInDb()Vérifie si la collection existe dans la base de données.
Signature
existsInDb(options?: Transactionable): Promise<boolean>Paramètres
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
options?.transaction | Transaction | - | Instance de transaction |
Exemple
removeFromDb()Signature
removeFromDb(): Promise<void>Exemple