问题描述
当我尝试使用 mongoose 弃用警告连接 mongoDb 时
const conn = mongoose.createConnection(process.env.DB_CONNECTION,{useUnifiedTopology: true,useNewUrlParser:true });
它出现 {useUnifiedTopology: true} 仅警告
解决方法
您的应用程序中的另一个包可能会连接到 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"