получение предупреждения [текущий механизм обнаружения и отслеживания сервера устарел] после использования winston-mongodb - PullRequest
4 голосов
/ 27 января 2020

после установки winston-mongodb Я получил следующее предупреждение:

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

Это мое приложение. js:

require('express-async-errors');

const express = require('express'),
    config = require('config'),
    morgan = require('morgan'),
    helmet = require('helmet'),
    winston = require('winston'),
    mongoose = require('mongoose');

require('winston-mongodb');


mongoose.connect("mongodb://localhost:27017/wsep",
    { useNewUrlParser: true, useFindAndModify: false, useCreateIndex: true, useUnifiedTopology: true })
    .then(connect => { console.log("connected to mongo db...") })
    .catch(error => { console.log("could not connect to mongo db ...") })

winston.add(new winston.transports.MongoDB({
    db: 'mongodb://localhost:27017/wsep'
}));

Приведенное выше предупреждение исчезнет, ​​если я удалю / прокомментирую следующий фрагмент кода:

winston.add(new winston.transports.MongoDB({
    db: 'mongodb://localhost:27017/wsep'
}));

РЕДАКТИРОВАТЬ:

пакет. json

{
  "name": "backend-api",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "nodemon app.js",
    "start": "node app.js"
  },
  "engines": {
    "node": "13.5.0"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bcrypt-nodejs": "0.0.3",
    "compression": "^1.7.4",
    "config": "^3.2.5",
    "express": "^4.17.1",
    "express-async-errors": "^3.1.1",
    "helmet": "^3.21.2",
    "joi": "^14.3.1",
    "jsonwebtoken": "^8.5.1",
    "jwt-token-encrypt": "^1.0.4",
    "lodash": "^4.17.15",
    "mongoose": "^5.8.9",
    "multer": "^1.4.2",
    "winston": "^3.2.1",
    "winston-mongodb": "^5.0.1"
  },
  "devDependencies": {
    "nodemon": "^2.0.2"
  }
}

1 Ответ

3 голосов
/ 29 января 2020

Вы можете просто добавить useUnifiedTopology: true в блок опций winston-mongodb следующим образом:

winston.add(new winston.transports.MongoDB({
    db: 'mongodb://localhost:27017/wsep',
    options: {
        useUnifiedTopology: true,
    }
}));
...