sql >> Databasteknik >  >> NoSQL >> MongoDB

När mongodb-servern är nere hur man fångar felet när man kör mongoose-frågan

Du använder mongoose, den avger händelser (EventEmitter-mönstret) när databasen är nere och när databasen återansluter och upp igen.

från mongoose kod hittas här vi kan se att bibliotekets db-anslutning - connection.js">>

har följande händelser som sänds ut:* @param {Mongoose} baserar en mongoose-instans* @inherits NodeJS EventEmitter

http://nodejs.org/api/events.html#events_class_events_eventemitter * @event connecting :Sänds vid connection.{open,openSet}() exekveras på denna anslutning.

  • @event connected :Sänds när den här anslutningen lyckas ansluta till db. Kan sändas ut flera gånger i reconnected scenarier.

  • @event open :Sänds ut efter att vi connected och onOpen exekveras på alla dessa anslutningsmodeller.

  • @event disconnecting :Sänds ut när connection.close() avrättades.

  • @event disconnected :Sänds efter att ha kopplats bort från db.

  • @event close :Sänds ut efter att vi disconnected och onClose körs på alla dessa anslutningsmodeller.

  • @event reconnected :Sänds ut efter att vi connected och därefter disconnected , följt av en annan framgångsrik anslutning.

  • @event error :Sänds när ett fel uppstår på den här anslutningen.

  • @event fullsetup :Sänds ut i ett replikuppsättningsscenario, när primära och minst en sekundär som anges i anslutningssträngen är anslutna.

  • @event all :Sänds ut i ett replikuppsättningsscenario när alla noder som anges i anslutningssträngen är anslutna.

När databasen är nere kommer du att få två händelser:1. frånkopplad 2. fel (felet som drivrutinen stötte på)

När databasen är uppe igen kommer du att få återanslutningshändelsen.

Så du behöver inte försöka fånga felet utan du bör lyssna på dessa händelser.

Mer användbar information om anslutningsfel och återanslutning finns här .

Den här artikeln förklarar hur du använder och konfigurerar autoReconnect och bufferMaxEntries enligt dina inställningar.




  1. MongoDB - uppdatera underdokument med $set

  2. Så här visar du din featureCompatibilityVersion i MongoDB

  3. Mongo-fel vid användning av aggregering:sorteringen överskred minnesgränsen

  4. Aggregera och uppdatera MongoDB