Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

315
Visualizações
DeprecationWarning: Listening to events on the Db class has been deprecated and will be removed in the next major version

I am using mongoose and mocha for MongoDB schema design and API development I am getting this warning... what does this mean, how it will affect me and what is the fix??

Below the actual warning text:

(node:9872) DeprecationWarning: Listening to events on the Db class has been deprecated and will be removed in the next major version.

over 4 years ago · Santiago Trujillo
6 Respostas
Responde à pergunta

0

For all those looking for an answer for this, there is a question posted on Mongodb forum and the answer is acknowledged by Mongodb concerned person.

The answer given by @kmgt is correct. The error can be ignored safely and will be fixed in upcoming release of Mongodb Nodejs driver or downgrading Mongoose version to 5.11.15 will help.

(node:44612) DeprecationWarning: Listening to events on the Db class has been deprecated and will be removed in the next major version

over 4 years ago · Santiago Trujillo Relatório

0

If you are using mongoose version 5.11.16 or a higher version, you will see this error. You can solve this issue by downgrading it to version 5.11.15.

npm uninstall mongoose

npm i mongoose@5.11.15

Although this is being discussed in the community and many comment sections and it is a warning because of a compatibility bug and it might not harm to ignore it. It is suggested that they will fix it in the next update.

over 4 years ago · Santiago Trujillo Relatório

0

Same Error enter image description here

But As far as I know its a new version compatibility bug, after searching about this current bug version, I found this comment session and according to one of them, it is safe to ignore this warning.

over 4 years ago · Santiago Trujillo Relatório

0

UPDATE

mongodb@3.6.5 is out.

Just update mongodb driver and mongoose:

npm i mongodb mongoose

This is caused by the mongodb@3.6.4 native driver which is used by mongoose.

#1 You can downgrade mongodb to version 3.6.3 (described here).

#2 Or downgrade mongoose from 5.11.16 back to 5.11.15:

npm uninstall mongoose
npm install mongoose@5.11.15

#3 Or just wait for the release of mongodb@3.6.5.

over 4 years ago · Santiago Trujillo Relatório

0

You can use mongoose version 5.11.13

over 4 years ago · Santiago Trujillo Relatório

0

OK so I found a fix for this problem.

Task : Upload Image on mongoDB as binary data, using buckets, chunks etc.

Reference URL

Code:

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;

Problem:

Deprecation Warning Listening to events on the Db class has been deprecated and will be removed in the next major version.

Fix:

So most probably the problem is not because of you. It is in the package itself. (check out the reference link above)

  1. Go to node_modules (it is that one folder with a lot of files) folder in your node_js application.

  2. Go to multer-gridfs-storage (inside node_modules)

  3. Go to lib folder (inside multer-gridfs-storage)

  4. Open gridfs.js

  5. Find this comment (// This are all the events that emit errors)

  6. Replace This

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

With this

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

Basically change replace 'db' with 'client'.

You can also go to the official page and check out the current issues there it is clearly mentioned that multer-gridfs-storage has debrication waring issue.

Issue Link

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda