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
Database là một thành phần quan trọng của các nguồn dữ liệu (DataSource) thuộc loại cơ sở dữ liệu. Mỗi nguồn dữ liệu loại cơ sở dữ liệu sẽ có một thể hiện Database tương ứng, có thể truy cập thông qua dataSource.db. Thể hiện cơ sở dữ liệu của nguồn dữ liệu chính cũng cung cấp bí danh tiện lợi app.db. Việc làm quen với các phương thức phổ biến của db là nền tảng để viết các plugin phía máy chủ.
Một Database điển hình bao gồm các phần sau:
Ở giai đoạn này, không được phép thực hiện các thao tác cơ sở dữ liệu. Nó phù hợp để đăng ký các lớp tĩnh hoặc lắng nghe sự kiện.
db.registerFieldTypes() — Các kiểu trường tùy chỉnhdb.registerModels() — Đăng ký các lớp model tùy chỉnhdb.registerRepositories() — Đăng ký các lớp repository tùy chỉnhdb.registerOperators() — Đăng ký các toán tử lọc tùy chỉnhdb.on() — Lắng nghe các sự kiện liên quan đến cơ sở dữ liệuỞ giai đoạn này, tất cả các định nghĩa lớp và sự kiện đã được tải trước đó, vì vậy việc tải các bảng dữ liệu sẽ không bị thiếu hoặc bỏ sót.
db.defineCollection() — Định nghĩa các bảng dữ liệu mớidb.extendCollection() — Mở rộng cấu hình bảng dữ liệu hiện cóNếu dùng để định nghĩa các bảng tích hợp của plugin, bạn nên đặt chúng trong thư mục ./src/server/collections. Xem chi tiết tại Bộ sưu tập.
Database cung cấp hai cách chính để truy cập và thao tác dữ liệu:
Lớp Repository thường được dùng để đóng gói logic nghiệp vụ, ví dụ như phân trang, lọc, kiểm tra quyền, v.v.
Lớp Model tương ứng trực tiếp với các thực thể ORM, phù hợp để thực hiện các thao tác cơ sở dữ liệu cấp thấp hơn.
| Giai đoạn | Cho phép thao tác cơ sở dữ liệu |
|---|---|
staticImport | Không |
afterAdd | Không |
beforeLoad | Không |
load | Không |
install | Có |
beforeEnable | Có |
afterEnable | Có |
beforeDisable | Có |
afterDisable | Có |
remove | Có |
handleSyncMessage | Có |
| Giai đoạn | Cho phép thao tác cơ sở dữ liệu |
|---|---|
beforeLoad | Không |
afterLoad | Không |
beforeStart | Có |
afterStart | Có |
beforeInstall | Không |
afterInstall | Có |
beforeStop | Có |
afterStop | Không |
beforeDestroy | Có |
afterDestroy | Không |
beforeLoadPlugin | Không |
afterLoadPlugin | Không |
beforeEnablePlugin | Có |
afterEnablePlugin | Có |
beforeDisablePlugin | Có |
afterDisablePlugin | Có |
afterUpgrade | Có |
| Giai đoạn | Cho phép thao tác cơ sở dữ liệu |
|---|---|
beforeSync | Không |
afterSync | Có |
beforeValidate | Có |
afterValidate | Có |
beforeCreate | Có |
afterCreate | Có |
beforeUpdate | Có |
afterUpdate | Có |
beforeSave | Có |
afterSave | Có |
beforeDestroy | Có |
afterDestroy | Có |
afterCreateWithAssociations | Có |
afterUpdateWithAssociations | Có |
afterSaveWithAssociations | Có |
beforeDefineCollection | Không |
afterDefineCollection | Không |
beforeRemoveCollection | Không |
afterRemoveCollection | Không |