In Mongoose, what does `schema.pre('save')` do?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Runs middleware before saving". schema.pre('save', fn) đăng ký một pre hook (middleware chạy trước) của Mongoose: mỗi lần gọi doc.save() hoặc Model.create(), hàm này chạy trước khi tài liệu được ghi xuống MongoDB, nên thường dùng để băm mật khẩu bằng bcrypt hoặc gán thời điểm cập nhật; trong document middleware, từ khoá this trỏ tới chính tài liệu sắp lưu. "Validates after save" sai hai chỗ: kiểm tra hợp lệ (validation) trong Mongoose chạy trước khi lưu, còn hook chạy sau khi lưu là schema.post('save'). "Populates references" là việc của populate() khi truy vấn, thay ObjectId bằng tài liệu được tham chiếu. "Aggregates data" là việc của Model.aggregate() với pipeline như $match, $group, không liên quan hook save.

Cùng chương 5

Xuất hiện trong 1 bộ đề