Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

110
Views
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 answers
Answer question

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 Report

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 Report

0

Puedes usar mongoose versión 5.11.13

over 4 years ago · Santiago Trujillo Report

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 Report

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 Report

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 debricación.

Enlace de problema

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!