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

Silnik wykrywania i monitorowania serwerów jest przestarzały

Aktualizacja

Mongoose 5.7.1 zostało wydane i wydaje się naprawiać problem, więc skonfigurowanie useUnifiedTopology opcja działa zgodnie z oczekiwaniami.

mongoose.connect(mongoConnectionString, {useNewUrlParser: true, useUnifiedTopology: true});

Oryginalna odpowiedź

Miałem ten sam problem i postanowiłem zagłębić się w kod Mongoose:https://github.com/Automattic/mongoose/search?q=useUnifiedTopology&unscoped_q=useUnifiedTopology

Wydaje się, że jest to opcja dodana w wersji 5.7 Mongoose i nie jest jeszcze dobrze udokumentowana. Nie mogłem znaleźć tego nawet w historii biblioteki https://github.com/Automattic/mongoose/blob/master/History.md

Zgodnie z komentarzem w kodzie:

  • @param {Boolean} [options.useUnifiedTopology=false] Fałsz domyślnie. Ustaw na true aby włączyć zestaw replik sterownika MongoDB i silnik monitorowania klastrów sharded.

Istnieje również problem w projekcie GitHub dotyczący tego błędu:https://github.com/Automattic/mongoose/issues/8156

W moim przypadku nie używam Mongoose w zestawie replik lub klastrze sharded i chociaż opcja powinna być fałszywa. Ale jeśli jest fałszywa, narzeka, że ​​ustawienie powinno być prawdziwe. Raz jest prawdą, że nadal nie działa, prawdopodobnie dlatego, że moja baza danych nie działa na zestawie replik lub klastrze podzielonym na fragmenty.

Zmieniłem wersję na 5.6.13 i mój projekt znów działa poprawnie. Na razie jedyną opcją, jaką widzę, jest obniżenie wersji i poczekanie na aktualizację poprawki do nowszej wersji.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB mongorestore i istniejąca kolekcja z rekordami

  2. MongoDB - jak zapytać o zagnieżdżony element w kolekcji?

  3. MongoDB $ceil

  4. mongodb sprawdź, czy punkt jest w wieloboku

  5. Wskaźnik potrójnego związku Mongo