MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Когато mongodb сървърът не работи, как да хванете грешката, докато изпълнявате mongoose заявка

Използвате mongoose, той излъчва събития (моделът EventEmitter), когато базата данни не работи и когато базата данни се свързва отново и се активира отново.

от код на mongoose, намерен тук можем да видим, че връзката db на библиотеката - connection.js

има следните събития, които се излъчват:* @param {Mongoose} базира екземпляр на mongoose* @inherits NodeJS EventEmitter

http://nodejs.org/api/events.html#events_class_events_eventemitter * @event connecting :Излъчва се при connection.{open,openSet}() се изпълнява на тази връзка.

  • @event connected :Излъчва се, когато тази връзка се свърже успешно с db. Може да се излъчва многократно пъти в reconnected сценарии.

  • @event open :Излъчено, след като connected и onOpen се изпълнява на всички тези модели връзки.

  • @event disconnecting :Излъчва се при connection.close() беше изпълнено.

  • @event disconnected :Излъчва се след прекъсване на връзката с базата данни.

  • @event close :Излъчено, след като disconnected и onClose се изпълнява на всички тези модели на връзки.

  • @event reconnected :Излъчено, след като connected и впоследствие disconnected , последвано от успешно друга успешна връзка.

  • @event error :Излъчва се, когато възникне грешка в тази връзка.

  • @event fullsetup :Излъчва се в сценарий с набор от реплики, когато основният и поне един вторичен модул, посочени в низа за връзка, са свързани.

  • @event all :Излъчва се в сценарий с набор от реплики, когато всички възли, посочени в низа за връзка, са свързани.

Когато базата данни не работи, ще получите две събития:1. изключен2. грешка (грешката, открита от драйвера)

Когато базата данни е готова отново, ще получите събитието за повторно свързване.

Така че не е нужно да се опитвате да уловите грешката, а трябва да слушате тези събития.

Повече полезна информация за неуспешно свързване и повторно свързване можете да намерите тук .

Тази статия обяснява как да използвате и конфигурирате autoReconnect и bufferMaxEntries според вашите настройки.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. @EnableMongoAuditing за MongoDB в Cloud Foundry / mongolab

  2. Как трябва да съхранявам булеви стойности в mongodb?

  3. Кодек MongoDB BSON не се използва при кодиране на обект

  4. Как да върна само НЯКОИ полета ($project) от агрегирането на Mongodb, като същевременно използвам $match, $lookup И $filter

  5. Не може да се свърже с MongoDB Atlas с помощта на Mongoose с низ за връзка