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

Двигателят за откриване и наблюдение на сървъри е отхвърлен

Актуализиране

Mongoose 5.7.1 беше пусната и изглежда отстранява проблема, така че настройвате useUnifiedTopology опцията работи според очакванията.

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

Оригинален отговор

Бях изправен пред същия проблем и реших да се потопя дълбоко в кода на Mongoose:https://github.com/Automattic/mongoose/search?q=useUnifiedTopology&unscoped_q=useUnifiedTopology

Изглежда, че е опция, добавена към версия 5.7 на Mongoose и все още не е добре документирана. Дори не можах да го намеря споменат в историята на библиотеката https://github.com/Automattic/mongoose/blob/master/History.md

Според коментар в кода:

  • @param {Boolean} [options.useUnifiedTopology=false] Невярно по подразбиране. Задайте на true за да се включите в набора реплики на драйвера MongoDB и механизма за наблюдение на раздробени клъстери.

В проекта GitHub също има проблем относно тази грешка:https://github.com/Automattic/mongoose/issues/8156

В моя случай не използвам Mongoose в набор от реплики или фрагментиран клъстер и въпреки че опцията трябва да е false. Но ако е false, той се оплаква, настройката трябва да е вярна. След като е вярно, пак не работи, вероятно защото моята база данни не работи на набор от реплики или разчленен клъстер.

Намалих до 5.6.13 и моят проект отново работи добре. Така че единствената опция, която виждам засега, е да го понижа и да изчакам корекцията да се актуализира за по-нова версия.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да изключите едно конкретно поле от колекция в Mongoose?

  2. Броят на Mongodb е различен с множество групови полета

  3. Как да заредя база данни mongo с помощта на docker-compose?

  4. 3 начина за създаване на индекс в MongoDB

  5. mongoDB upsert върху масив