Asked Mar 1st, 3:39 PM 89 0 3
  • 89 0 3
+1

Giải pháp ghi log, thông báo cho Mongo, NodeJs

Share
  • 89 0 3

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 ANSWERS


Answered Mar 2nd, 8:56 AM
Accepted
+1

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

Share
Lê Thái @lethai2597
Mar 5th, 2:46 AM

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

0
| Reply
Share
Answered Mar 2nd, 8:04 AM
0

bạn tham khảo bài viết này nha https://refactoring.guru/design-patterns/observer

Share
Lê Thái @lethai2597
Mar 5th, 2:47 AM

Đọ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 ạ

0
| Reply
Share
Answered Mar 18th, 3:58 AM
0

Thông thường thì có 2 cách:

  1. Bắt sự kiện từ mongo bằng phương thứ postpre, 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.

  2. 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ý

Share