Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

317
Vistas
DeprecationWarning: la escucha de eventos en la clase Db ha quedado obsoleta y se eliminará en la próxima versión principal

Estoy usando mongoose y mocha para el diseño del esquema MongoDB y el desarrollo de la API. Recibo esta advertencia... ¿qué significa esto, cómo me afectará y cuál es la solución?

Debajo del texto de advertencia real:

(nodo: 9872) Advertencia de desuso: la escucha de eventos en la clase Db ha quedado obsoleta y se eliminará en la próxima versión principal.

over 4 years ago · Santiago Trujillo
6 Respuestas
Responde la pregunta

0

Para todos aquellos que buscan una respuesta para esto, hay una pregunta publicada en el foro de Mongodb y la persona interesada en Mongodb reconoce la respuesta.

La respuesta dada por @kmgt es correcta. El error se puede ignorar de manera segura y se solucionará en la próxima versión del controlador Mongodb Nodejs o se ayudará a degradar la versión de Mongoose a 5.11.15.

(nodo: 44612) DeprecationWarning: Escuchar eventos en la clase Db ha quedado obsoleto y se eliminará en la próxima versión principal

over 4 years ago · Santiago Trujillo Denunciar

0

Si está utilizando mongoose versión 5.11.16 o una versión superior, verá este error. Puede resolver este problema degradándolo a la versión 5.11.15.

npm desinstalar mangosta

npm i mangosta@5.11.15

Aunque esto se está discutiendo en la comunidad y en muchas secciones de comentarios, es una advertencia debido a un error de compatibilidad y puede que no esté de más ignorarlo. Se sugiere que lo arreglen en la próxima actualización.

over 4 years ago · Santiago Trujillo Denunciar

0

Mismo error ingrese la descripción de la imagen aquí

Pero, por lo que sé, es un error de compatibilidad de la nueva versión, después de buscar sobre esta versión de error actual, encontré esta sesión de comentarios y, según uno de ellos, es seguro ignorar esta advertencia.

over 4 years ago · Santiago Trujillo Denunciar

0

ACTUALIZAR

mongodb@3.6.5 está fuera.

Simplemente actualice el controlador mongodb y la mangosta:

 npm i mongodb mongoose

Esto es causado por el controlador nativo mongodb@3.6.4 que utiliza mongoose.

#1 Puede degradar mongodb a la versión 3.6.3 ( descrito aquí ).

#2 O rebaje la mangosta del 5.11.16 al 5.11.15:

 npm uninstall mongoose npm install mongoose@5.11.15

#3 O simplemente espera el lanzamiento de mongodb@3.6.5.

over 4 years ago · Santiago Trujillo Denunciar

0

Puedes usar mongoose versión 5.11.13

over 4 years ago · Santiago Trujillo Denunciar

0

OK, entonces encontré una solución para este problema.

Tarea: Cargue la imagen en mongoDB como datos binarios, usando cubos, fragmentos, etc.

URL de referencia

Código:

 const express = require("express"); const router = express.Router(); const User = require('../models/user'); const grid = require('gridfs-stream'); const GridFsStorage = require('multer-gridfs-storage'); const util = require("util"); const crypto = require('crypto'); const path = require('path'); const methodOverride = require('method-override'); const bodyParser = require('body-parser'); const dotenv = require("dotenv").config({path: "./config/config.env"}); const multer = require('multer'); const storage = new GridFsStorage({ url: process.env.MONGO_URI, options: { useUnifiedTopology: true }, file: (req, file) => { return new Promise((resolve, reject) => { crypto.randomBytes(16, (err, buf) => { if (err) { return reject(err); } const filename = buf.toString('hex') + path.extname(file.originalname); const fileInfo = { filename: filename, bucketName: 'uploads' }; resolve(fileInfo); }); }); } }); var uploadFile = multer({storage: storage}).single("file"); var uploadFilesMiddleware = util.promisify(uploadFile); module.exports = uploadFilesMiddleware;

Problema:

Advertencia de obsolescencia La escucha de eventos en la clase Db ha quedado obsoleta y se eliminará en la próxima versión principal.

Reparar:

Así que lo más probable es que el problema no sea por ti. Está en el paquete mismo. (consulte el enlace de referencia anterior)

  1. Vaya a la carpeta node_modules (es esa carpeta con muchos archivos) en su aplicación node_js.

  2. Vaya a multer-gridfs-storage (dentro de node_modules)

  3. Vaya a la carpeta lib (dentro de multer-gridfs-storage)

  4. Abrir gridfs.js

  5. Encuentra este comentario (// Estos son todos los eventos que emiten errores)

  6. Reemplazar esto

    this.db .on('error', errEvent) .on('parseError', errEvent) .on('timeout', errEvent) .on('close', errEvent);

Con este

 this.client .on('error', errEvent) .on('parseError', errEvent) .on('timeout', errEvent) .on('close', errEvent);

Básicamente cambie reemplazar 'db' con 'cliente'.

También puede ir a la página oficial y ver los problemas actuales allí, se menciona claramente que el almacenamiento de multer-gridfs tiene un problema de advertencia de desbaste.

Enlace de problema

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda