#node.js #mongodb #express #mongoose #deprecation-warning
#node.js #mongodb #выразить #mongoose #устаревание-предупреждение
Вопрос:
когда я пытаюсь подключить MongoDB с помощью mongoose появляется предупреждение об устаревании
я добавляю опцию в код, но предупреждение все еще есть
const conn = mongoose.createConnection(process.env.DB_CONNECTION,
{useUnifiedTopology: true, useNewUrlParser:true });
появляется
{useUnifiedTopology: true} только предупреждение
Ответ №1:
другой пакет в вашем приложении может подключаться к mongodb, поэтому вы все еще получаете эту ошибку. В этом случае у меня есть регистратор для регистрации ошибок в mongodb:
export const logger = winston.createLogger({
level: "info",
format: winston.format.json(),
defaultMeta: { service: "user-service" },
transports: [
new winston.transports.File({ filename: "error.log", level: "error" }),
new MongoDB.MongoDB({ db: process.env.DB_URI! }),
// new winston.transports.
],
});
таким образом, эта строка new MongoDB.MongoDB({ db: process.env.DB_URI! })
вызывает предупреждение, которое все еще регистрируется на терминале. Когда я комментирую эту строку, я больше не получаю предупреждение. Если вы хотите увидеть источник предупреждения, добавьте --trace-deprecation
его в сценарий запуска в package.json.
"start":"node -r dotenv/config --trace-deprecation dist/bundle.js"
Комментарии:
1. есть ли в вашем приложении какой-либо другой фрагмент кода, подключающийся к mongo.