Tài liệu này được dịch bởi AI. Đối với bất kỳ thông tin không chính xác nào, vui lòng tham khảo phiên bản tiếng Anh
Collection được dùng để định nghĩa các mô hình dữ liệu trong hệ thống, chẳng hạn như tên mô hình, trường, chỉ mục, liên kết và các thông tin khác.
Thông thường, nó được gọi thông qua phương thức collection của một thể hiện Database như một điểm truy cập ủy quyền.
Để biết thêm các loại trường, vui lòng tham khảo Trường.
Chữ ký
constructor(options: CollectionOptions, context: CollectionContext)Tham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
options.name | string | - | Định danh của bộ sưu tập |
options.tableName? | string | - | Tên bảng cơ sở dữ liệu. Nếu không cung cấp, giá trị của options.name sẽ được sử dụng. |
options.fields? | FieldOptions[] | - | Định nghĩa trường. Xem chi tiết tại Trường. |
options.model? | string | ModelStatic<Model> | - | Kiểu Model của Sequelize. Nếu sử dụng string, tên mô hình phải được đăng ký trước đó trên db. |
options.repository? | string | RepositoryType | - | Kiểu kho dữ liệu (repository). Nếu sử dụng string, kiểu kho dữ liệu phải được đăng ký trước đó trên db. |
options.sortable? | string | boolean | { name?: string; scopeKey?: string } | - | Cấu hình trường có thể sắp xếp. Mặc định không sắp xếp. |
options.autoGenId? | boolean | true | Có tự động tạo khóa chính duy nhất hay không. Mặc định là true. |
context.database | Database | - | Cơ sở dữ liệu trong ngữ cảnh hiện tại. |
Ví dụ
Tạo một bộ sưu tập bài viết:
optionsCác tham số cấu hình ban đầu cho bộ sưu tập. Giống với tham số options của hàm tạo.
contextNgữ cảnh mà bộ sưu tập hiện tại thuộc về, hiện tại chủ yếu là thể hiện cơ sở dữ liệu.
nameTên bộ sưu tập.
dbThể hiện cơ sở dữ liệu mà nó thuộc về.
filterTargetKeyTên trường được sử dụng làm khóa chính.
isThroughCó phải là bảng trung gian hay không.
modelKhớp với kiểu Model của Sequelize.
repositoryThể hiện kho dữ liệu (repository).
getField()Lấy đối tượng trường có tên tương ứng đã được định nghĩa trong bộ sưu tập.
Chữ ký
getField(name: string): FieldTham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
name | string | - | Tên trường |
Ví dụ
setField()Đặt một trường cho bộ sưu tập.
Chữ ký
setField(name: string, options: FieldOptions): FieldTham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
name | string | - | Tên trường |
options | FieldOptions | - | Cấu hình trường. Xem chi tiết tại Trường. |
Ví dụ
setFields()Đặt nhiều trường cho bộ sưu tập theo lô.
Chữ ký
setFields(fields: FieldOptions[], resetFields = true): Field[]Tham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
fields | FieldOptions[] | - | Cấu hình trường. Xem chi tiết tại Trường. |
resetFields | boolean | true | Có đặt lại các trường hiện có hay không. |
Ví dụ
removeField()Xóa đối tượng trường có tên tương ứng đã được định nghĩa trong bộ sưu tập.
Chữ ký
removeField(name: string): void | FieldTham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
name | string | - | Tên trường |
Ví dụ
resetFields()Đặt lại (xóa) các trường của bộ sưu tập.
Chữ ký
resetFields(): voidVí dụ
hasField()Kiểm tra xem bộ sưu tập có định nghĩa đối tượng trường với tên tương ứng hay không.
Chữ ký
hasField(name: string): booleanTham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
name | string | - | Tên trường |
Ví dụ
findField()Tìm một đối tượng trường trong bộ sưu tập đáp ứng các tiêu chí.
Chữ ký
findField(predicate: (field: Field) => boolean): Field | undefinedTham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
predicate | (field: Field) => boolean | - | Tiêu chí tìm kiếm |
Ví dụ
forEachField()Lặp qua các đối tượng trường trong bộ sưu tập.
Chữ ký
forEachField(callback: (field: Field) => void): voidTham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
callback | (field: Field) => void | - | Hàm callback |
Ví dụ
addIndex()Thêm một chỉ mục vào bộ sưu tập.
Chữ ký
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })Tham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
index | string | string[] | - | Tên trường (hoặc các trường) cần cấu hình chỉ mục |
index | { fields: string[], unique?: boolean, [key: string]: any } | - | Cấu hình đầy đủ |
Ví dụ
removeIndex()Xóa một chỉ mục khỏi bộ sưu tập.
Chữ ký
removeIndex(fields: string[])Tham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
fields | string[] | - | Tổ hợp tên trường cho chỉ mục cần xóa |
Ví dụ
remove()Xóa bộ sưu tập.
Chữ ký
remove(): voidVí dụ
sync()Đồng bộ hóa định nghĩa bộ sưu tập vào cơ sở dữ liệu. Ngoài logic mặc định của Model.sync trong Sequelize, phương thức này cũng xử lý các bộ sưu tập tương ứng với các trường liên kết.
Chữ ký
sync(): Promise<void>Ví dụ
existsInDb()Kiểm tra xem bộ sưu tập có tồn tại trong cơ sở dữ liệu hay không.
Chữ ký
existsInDb(options?: Transactionable): Promise<boolean>Tham số
| Tham số | Kiểu | Giá trị mặc định | Mô tả |
|---|---|---|---|
options?.transaction | Transaction | - | Thể hiện giao dịch |
Ví dụ
removeFromDb()Chữ ký
removeFromDb(): Promise<void>Ví dụ