Giải pháp ghi log, thông báo cho Mongo, NodeJs
Trọng dự án sử dụng nodejs, expressjs và mongo mình đang tham gia có chức năng đơn hàng. Nghiệp vụ mong muốn mọi biến động liên quan tới đơn hàng đều được lưu lịch sử lại (Tạo mới, cập nhật, xóa, ...) để tiện truy xuất cũng như lưu và bắn thông báo cho các bên liên quan. Mình muốn hỏi thường thì nghiệp vụ như vậy nên dùng patten nào để giải quyết được ạ. Mình có search một số pakage lưu history của bản ghi nhưng chưa thấy ưng lắm. Cảm ơn mọi người đã quan tâm ạ.
3 CÂU TRẢ LỜI
mọi biến động đều được lưu lại lịch sử => cái này có cần lưu lại ngay lập tức không? Theo kinh nghiệm của mình để làm mấy module dạng như này nên dùng mấy partten dạng như pub/sub hoặc observable. Mình thiên về dùng pub/sub hơn
Cần lưu ngay + bắn thông báo soket, firebase cho các bên ạ. Bác có example cho nodejs không cho em xin với
Đọc cái này hơi chung mà em thì chưa có nhiều kinh nghiệm với express mongo. Bác cho example không cho em xin với ạ
Thông thường thì có 2 cách:
-
Bắt sự kiện từ mongo bằng phương thứ
post
vàpre
, rồi sau đó gửi sự kiện đó vào hàng chờ, và xử lý (https://mongoosejs.com/docs/api.html#schema_Schema-post) cái này là một cách lắng nghe sự kiện từ mongo. -
Viết 1 middleware trước route bạn cần log, mỗi khi route đó được gọi, thì đưa sự kiện đó vào hàng chờ và xử lý