Yêu cầu thg 3 1, 2021 3:39 CH 133 0 3
  • 133 0 3
+1

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

Chia sẻ
  • 133 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 CÂU TRẢ LỜI


Đã trả lời thg 3 2, 2021 8:56 SA
Đã được chấp nhận
+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

Chia sẻ
Avatar Lê Huy Thái @lethai2597
thg 3 5, 2021 2:46 SA

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

Đã trả lời thg 3 2, 2021 8:04 SA
0

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

Chia sẻ
Avatar Lê Huy Thái @lethai2597
thg 3 5, 2021 2:47 SA

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

Đã trả lời thg 3 18, 2021 3:58 SA
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ý

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí