sql >> Database >  >> NoSQL >> MongoDB

Wanneer de mongodb-server niet beschikbaar is, hoe u de fout kunt opvangen tijdens het uitvoeren van de mongoose-query

U gebruikt mangoest, deze zendt gebeurtenissen uit (het EventEmitter-patroon) wanneer de database niet beschikbaar is en wanneer de database opnieuw verbinding maakt en weer actief is.

van mongoose-code gevonden hier we kunnen zien dat de bibliotheek db-verbinding - connection.js

heeft de volgende gebeurtenissen die worden uitgezonden:* @param {Mongoose} baseren een mongoose-instantie* @inherits NodeJS EventEmitter

http://nodejs.org/api/events.html#events_class_events_eventemitter * @event connecting :Uitgezonden bij connection.{open,openSet}() wordt uitgevoerd op deze verbinding.

  • @event connected :Wordt verzonden wanneer deze verbinding met succes verbinding maakt met de db. Mag meerdere worden uitgezonden keer in reconnected scenario's.

  • @event open :verzonden nadat we connected en onOpen wordt uitgevoerd op al deze verbindingsmodellen.

  • @event disconnecting :Uitgezonden wanneer connection.close() werd geëxecuteerd.

  • @event disconnecting :Uitgezonden nadat de verbinding met de database is verbroken.

  • @event close :verzonden nadat we disconnected en onClose uitgevoerd op al deze verbindingsmodellen.

  • @event reconnected :verzonden nadat we connected en vervolgens disconnecting , gevolgd door een succesvolle nieuwe verbinding.

  • @event error :Wordt verzonden wanneer er een fout optreedt op deze verbinding.

  • @event fullsetup :Uitgezonden in een replica-set scenario, wanneer primaire en ten minste één seconaries die zijn gespecificeerd in de verbindingsreeks zijn verbonden.

  • @event all :Uitgezonden in een replicaset-scenario, wanneer alle knooppunten die zijn opgegeven in de verbindingsreeks zijn verbonden.

Wanneer de database niet beschikbaar is, ontvangt u twee gebeurtenissen:1. losgekoppeld2. fout (de fout die het stuurprogramma tegenkwam)

Als de database weer actief is, ontvang je de reconnect-event.

U hoeft dus niet te proberen de fout op te vangen, maar luister naar deze gebeurtenissen.

Meer nuttige informatie over verbindingsfouten en opnieuw verbinding maken is hier .

In dit artikel wordt uitgelegd hoe u de autoReconnect en de bufferMaxEntries gebruikt en configureert volgens uw instellingen.




  1. Geef een .js-bestand door aan mongo db.eval()

  2. Bewaar bestanden op schijf of MongoDB

  3. krijg maximale waarde in mangoest

  4. Pymongo - ValueError:NaTType ondersteunt utcoffset niet bij gebruik van insert_many