Collection
Tổng quan
Collection được dùng để định nghĩa model dữ liệu trong hệ thống, như tên model, field, index, quan hệ, v.v.
Thông thường gọi qua phương thức collection của instance Database làm điểm vào ủy quyền.
Để biết thêm các kiểu field, vui lòng tham khảo Fields.
Constructor
Chữ ký
constructor(options: CollectionOptions, context: CollectionContext)
Tham số
Ví dụ
Tạo bảng bài viết:
Thành viên của instance
options
Tham số khởi tạo cấu hình bảng dữ liệu. Giống tham số options của constructor.
context
Ngữ cảnh thuộc về của bảng dữ liệu hiện tại, hiện chủ yếu là instance cơ sở dữ liệu.
name
Tên bảng dữ liệu.
db
Instance cơ sở dữ liệu thuộc về.
filterTargetKey
Tên field được dùng làm khóa chính.
isThrough
Có phải là bảng trung gian hay không.
model
Kiểu Model khớp với Sequelize.
repository
Instance repository.
Phương thức cấu hình field
getField()
Lấy đối tượng field đã được định nghĩa với tên tương ứng trong bảng dữ liệu.
Chữ ký
getField(name: string): Field
Tham số
Ví dụ
setField()
Đặt field cho bảng dữ liệu.
Chữ ký
setField(name: string, options: FieldOptions): Field
Tham số
Ví dụ
setFields()
Đặt nhiều field hàng loạt cho bảng dữ liệu.
Chữ ký
setFields(fields: FieldOptions[], resetFields = true): Field[]
Tham số
Ví dụ
removeField()
Gỡ đối tượng field đã được định nghĩa với tên tương ứng trong bảng dữ liệu.
Chữ ký
removeField(name: string): void | Field
Tham số
Ví dụ
resetFields()
Reset (làm sạch) các field của bảng dữ liệu.
Chữ ký
resetFields(): void
Ví dụ
hasField()
Kiểm tra bảng dữ liệu có đối tượng field với tên tương ứng đã được định nghĩa hay không.
Chữ ký
hasField(name: string): boolean
Tham số
Ví dụ
findField()
Tìm đối tượng field thỏa điều kiện trong bảng dữ liệu.
Chữ ký
findField(predicate: (field: Field) => boolean): Field | undefined
Tham số
Ví dụ
forEachField()
Duyệt qua các đối tượng field trong bảng dữ liệu.
Chữ ký
forEachField(callback: (field: Field) => void): void
Tham số
Ví dụ
Phương thức cấu hình index
addIndex()
Thêm index cho bảng dữ liệu.
Chữ ký
addIndex(index: string | string[] | { fields: string[], unique?: boolean,[key: string]: any })
Tham số
Ví dụ
removeIndex()
Gỡ index của bảng dữ liệu.
Chữ ký
removeIndex(fields: string[])
Tham số
Ví dụ
Phương thức cấu hình bảng
remove()
Xóa bảng dữ liệu.
Chữ ký
remove(): void
Ví dụ
Phương thức thao tác cơ sở dữ liệu
sync()
Đồng bộ định nghĩa bảng dữ liệu vào cơ sở dữ liệu. Ngoài logic mặc định của Model.sync trong Sequelize, sẽ đồng thời xử lý các bảng dữ liệu tương ứng với field quan hệ.
Chữ ký
sync(): Promise<void>
Ví dụ
existsInDb()
Kiểm tra bảng dữ liệu có tồn tại trong cơ sở dữ liệu hay không.
Chữ ký
existsInDb(options?: Transactionable): Promise<boolean>
Tham số
Ví dụ
removeFromDb()
Chữ ký
removeFromDb(): Promise<void>
Ví dụ

