Механизм обнаружения и мониторинга сервера устарел

я использую mongoose с моим приложением node.js, и это моя конфигурация

mongoose.connect(process.env.MONGO_URI, {
   useNewUrlParser: true,
   useUnifiedTopology: true,
   useCreateIndex: true,
   useFindAndModify: false
}).then(()=>{
    console.log(`connection to database established`)
}).catch(err=>{
    console.log(`db error ${err.message}`);
    process.exit(-1)
})

, но в консоли он все еще выдает предупреждение

DeprecationWarning: текущее обнаружение сервера и Механизм мониторинга устарел и будет удален в следующей версии. Чтобы использовать новый механизм обнаружения и мониторинга сервера, передайте опцию {useUnifiedTopology: true} конструктору MongoClient.

в чем проблема? я не использовал useUnifiedTopology раньше, но теперь он появился в консоли, и я добавил его, но он все еще дает мне эту ошибку. Почему? Я даже не использую mongoClient.

20
задан iLiA 11 September 2019 в 18:49
поделиться

4 ответа

Это работало на меня

MongoClient.connect(connectionurl, 
  {useUnifiedTopology: true, useNewUrlParser: true},  callback() {

      mongoose.connect(connectionurl, 
         {useUnifiedTopology: true, useNewUrlParser: true}).then(()=>{

, Удаляют другой connectionOptions

-2
ответ дан 28 November 2019 в 03:25
поделиться

Можно Попробовать асинхронный, ждут

const connectDB = async () => {
    try {
        await mongoose.connect(<database url>, {
            useNewUrlParser: true,
            useCreateIndex: true,
            useUnifiedTopology: true,
            useFindAndModify: false
        });
        console.log("MongoDB Conected")
    } catch (err) {
        console.error(err.message);
        process.exit(1);
    }
};
1
ответ дан 28 November 2019 в 03:25
поделиться

Это решило мою проблему.

 const url = 'mongodb://localhost:27017';

 const client = new MongoClient(url, {useUnifiedTopology: true});
0
ответ дан 28 November 2019 в 03:25
поделиться

Установка подключения мангусты useUnifiedTopology: верный опция

  import mongoose from 'mongoose';

        const server = '127.0.0.1:27017'; // REPLACE WITH YOUR DB SERVER
        const database = 'DBName'; // REPLACE WITH YOUR DB NAME
        class Database {
          constructor() {
            this._connect();
          }
          _connect() {
            mongoose.Promise = global.Promise;
            // * Local DB SERVER *
            mongoose
              .connect(`mongodb://${server}/${database}`, {
                useNewUrlParser: true,
                useCreateIndex: true,
                useUnifiedTopology: true
              })
              .then(
                () => console.log(`mongoose version: ${mongoose.version}`),
                console.log('Database connection successful'),
              )
              .catch(err => console.error('Database connection error', err));   
          }
        }
        module.exports = new Database();
0
ответ дан 28 November 2019 в 03:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: