このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
コレクション は、システム内のデータモデルを定義するために使用されます。モデル名、フィールド、インデックス、関連付けなどの情報を定義します。
通常、Database インスタンスの collection メソッドを介して呼び出されます。
その他のフィールドタイプについては、フィールド を参照してください。
シグネチャ
constructor(options: CollectionOptions, context: CollectionContext)パラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
options.name | string | - | コレクションの識別子 |
options.tableName? | string | - | データベースのテーブル名です。指定しない場合、options.name の値が使用されます。 |
options.fields? | FieldOptions[] | - | フィールドの定義です。詳細は フィールド を参照してください。 |
options.model? | string | ModelStatic<Model> | - | Sequelize のモデルタイプです。string を使用する場合、事前にそのモデル名が db に登録されている必要があります。 |
options.repository? | string | RepositoryType | - | リポジトリタイプです。string を使用する場合、事前にそのリポジトリタイプが db に登録されている必要があります。 |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | データソート可能フィールドの設定です。デフォルトではソートされません。 |
options.autoGenId? | boolean | true | 一意のプライマリキーを自動生成するかどうかです。デフォルトは true です。 |
context.database | Database | - | 現在のコンテキストに属するデータベースインスタンスです。 |
例
投稿のコレクションを作成する例:
optionsコレクションの初期設定パラメータです。コンストラクタの options パラメータと同じです。
context現在のコレクションが属するコンテキストです。主にデータベースインスタンスを指します。
nameコレクション名です。
db所属するデータベースインスタンスです。
filterTargetKeyプライマリキーとして使用されるフィールド名です。
isThrough中間コレクションかどうかを示します。
modelSequelize のモデルタイプに一致します。
repositoryリポジトリインスタンスです。
getField()コレクションに定義されている、指定された名前のフィールドオブジェクトを取得します。
シグネチャ
getField(name: string): Fieldパラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
name | string | - | フィールド名 |
例
setField()コレクションにフィールドを設定します。
シグネチャ
setField(name: string, options: FieldOptions): Fieldパラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
name | string | - | フィールド名 |
options | FieldOptions | - | フィールド設定です。詳細は フィールド を参照してください。 |
例
setFields()コレクションに複数のフィールドを一括で設定します。
シグネチャ
setFields(fields: FieldOptions[], resetFields = true): Field[]パラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
fields | FieldOptions[] | - | フィールド設定です。詳細は フィールド を参照してください。 |
resetFields | boolean | true | 既存のフィールドをリセットするかどうかです。 |
例
removeField()コレクションに定義されている、指定された名前のフィールドオブジェクトを削除します。
シグネチャ
removeField(name: string): void | Fieldパラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
name | string | - | フィールド名 |
例
resetFields()コレクションのフィールドをリセット(クリア)します。
シグネチャ
resetFields(): void例
hasField()コレクションに指定された名前のフィールドオブジェクトが定義されているかどうかを判断します。
シグネチャ
hasField(name: string): booleanパラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
name | string | - | フィールド名 |
例
findField()コレクション内で条件に一致するフィールドオブジェクトを検索します。
シグネチャ
findField(predicate: (field: Field) => boolean): Field | undefinedパラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
predicate | (field: Field) => boolean | - | 検索条件 |
例
forEachField()コレクション内のフィールドオブジェクトを反復処理します。
シグネチャ
forEachField(callback: (field: Field) => void): voidパラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
callback | (field: Field) => void | - | コールバック関数 |
例
addIndex()コレクションにインデックスを追加します。
シグネチャ
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })パラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
index | string | string[] | - | インデックスを設定するフィールド名 |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | 完全な設定 |
例
removeIndex()コレクションからインデックスを削除します。
シグネチャ
removeIndex(fields: string[])パラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
fields | string[] | - | 削除するインデックスのフィールド名の組み合わせ |
例
remove()コレクションを削除します。
シグネチャ
remove(): void例
sync()コレクションの定義をデータベースに同期します。Sequelize の Model.sync のデフォルトロジックに加えて、関連付けフィールドに対応するコレクションも処理します。
シグネチャ
sync(): Promise<void>例
existsInDb()コレクションがデータベースに存在するかどうかを判断します。
シグネチャ
existsInDb(options?: Transactionable): Promise<boolean>パラメータ
| パラメータ名 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
options?.transaction | Transaction | - | トランザクションインスタンス |
例
removeFromDb()シグネチャ
removeFromDb(): Promise<void>例