MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Sterownik mongodb nodejs przerywa połączenie, gdy jest bezczynny

Rozwiązany!

  1. Ustaw server.socketoptions.keepAlive na 1 . Po prostu zaktualizuj obiekt opcji w następujący sposób:

    options = {
      auto_reconnect: true,
      db: {
        w: 1
      },
      server: {
        socketOptions: {
          keepAlive: 1
        }
      }
    };
    
  2. Pinguj bazę danych w regularnych odstępach czasu. Oto fragment kodu, który dokładnie to robi:

    printEventCount = function() {
      db.collection("IOSEvents").count(function(err, numberOfEvents) {
        console.log(new Date() + ": error = " + err + ", number of events = " + numberOfEvents);
        ping();
      });
    };
    
    ping = function() {
      if (config.pingPeriod === 0)
        return;    
      setTimeout(printEventCount, config.pingPeriod);
    };
    



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Docker:zmień folder, w którym mają być przechowywane woluminy Docker

  2. Agregacja MongoDB:dodaj pole z osadzonego dokumentu za pomocą dynamicznej ścieżki pola

  3. Przełącz wartość logiczną poddokumentów

  4. Obiekt nadrzędny ścieżki JSON lub równoważne zapytanie MongoDB

  5. Jak zdobyć ostatni dokument każdego dnia w kolekcji MongoDB?