MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Khi máy chủ mongodb gặp sự cố, cách bắt lỗi khi chạy truy vấn mongoose

Bạn đang sử dụng mongoose, nó phát ra các sự kiện (mẫu EventEmitter) khi cơ sở dữ liệu gặp sự cố và khi cơ sở dữ liệu đang kết nối lại và khởi động lại.

từ mã mongoose được tìm thấy tại đây chúng ta có thể thấy rằng kết nối db thư viện - connect.js

có các sự kiện sau được phát ra:* @param {Mongoose} tạo cơ sở cho phiên bản mongoose * @inherits NodeJS EventEmitter

http://nodejs.org/api/events.html#events_class_events_eventemitter * @event connecting :Được phát ra khi kết nối connection.{open,openSet}() được thực thi trên kết nối này.

  • @event connected :Được phát ra khi kết nối này kết nối thành công với db. Có thể được phát ra nhiều lần trong reconnected các tình huống.

  • @event open :Được phát ra sau khi chúng tôi connectedonOpen được thực thi trên tất cả các mô hình kết nối này.

  • @event disconnecting :Được phát ra khi connection.close() đã được thực thi.

  • @event disconnected :Được phát ra sau khi ngắt kết nối khỏi db.

  • @event close :Được phát ra sau khi chúng tôi disconnectedonClose được thực thi trên tất cả các mô hình kết nối này.

  • @event reconnected :Được phát ra sau khi chúng tôi connected và sau đó disconnected , tiếp theo là thành công một kết nối thành công khác.

  • @event error :Được phát ra khi xảy ra lỗi trên kết nối này.

  • @event fullsetup :Được phát ra trong kịch bản thiết lập bản sao, khi các phần tử chính và ít nhất được chỉ định trong chuỗi kết nối được kết nối.

  • @event all :Được phát ra trong kịch bản thiết lập bản sao, khi tất cả các nút được chỉ định trong chuỗi kết nối được kết nối.

Khi cơ sở dữ liệu không hoạt động, bạn sẽ nhận được hai sự kiện:1. ngắt kết nối2. error (lỗi mà trình điều khiển gặp phải)

Khi cơ sở dữ liệu hoạt động trở lại, bạn sẽ nhận được sự kiện kết nối lại.

Vì vậy, bạn không cần phải cố gắng bắt lỗi thay vào đó bạn nên lắng nghe các sự kiện này.

Bạn có thể tìm thấy thêm thông tin hữu ích về lỗi kết nối và kết nối lại tại đây .

Bài viết này giải thích cách sử dụng và định cấu hình autoReconnect và bufferMaxEntries theo cài đặt của bạn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cập nhật MongoDB Collection:khởi tạo tài liệu với các giá trị mặc định

  2. Hàm Azure không trả về kết quả

  3. Mongoose tổng các trường từ các tài liệu được phổ biến

  4. Sử dụng biến chuỗi trong biểu thức lambda LINQ

  5. res.redirect hiển thị thông tin cũ sau khi gửi biểu mẫu?