DEV Community

Cameron Thompson
Cameron Thompson

Posted on • Edited on

Help With Mongoose

Hello All,

I am running into this warning that is driving me crazy.
Here is the warning:

(node:38419) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(Use `node --trace-deprecation ...` to show where the warning was created)
MongoDB Connect: *************.zzkco.mongodb.net
Enter fullscreen mode Exit fullscreen mode

and here is my code:

const mongoose = require('mongoose');

const connectDB = async () => {
    try {
        mongoose.set('useUnifiedTopology', true);
        mongoose.set('useNewUrlParser', true);
        const conn = await mongoose.connect(process.env.MONGO_URI)
        console.log(`MongoDB Connect: ${conn.connection.host}`)

    } catch (err) {
        console.error(`Error: ${err.message}`);
        process.exit(1);
    }
}

module.exports = connectDB
Enter fullscreen mode Exit fullscreen mode

Any help that you can offer is appreciated!

AWS Q Developer image

Your AI Code Assistant

Ask anything about your entire project, code and get answers and even architecture diagrams. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Start free in your IDE

Top comments (10)

Collapse
 
buttercubz profile image
Erick Sosa Garcia

try with this:

const mongoose = require('mongoose');

const connectDB = async () => {
 try {
     const conn = await mongoose.connect(process.env.MONGO_URI,
                       {
                          useNewUrlParser: true,
                          useUnifiedTopology: true,
                       });
     console.log(`MongoDB Connect: ${conn.connection.host}`)

    } catch (err) {
        console.error(`Error: ${err.message}`);
        process.exit(1);
    }
}

module.exports = connectDB
Enter fullscreen mode Exit fullscreen mode
Collapse
 
cdthomp1 profile image
Cameron Thompson

I get this warning

(node:781) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:781) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
MongoDB Connect: spydrwebdev-shard-00-00.zzkco.mongodb.net
Enter fullscreen mode Exit fullscreen mode
Collapse
 
buttercubz profile image
Erick Sosa Garcia

what version of mongoose are you using?

Thread Thread
 
cdthomp1 profile image
Cameron Thompson

I am using version 5.11.9

Thread Thread
 
buttercubz profile image
Erick Sosa Garcia

it's weird, I just installed mongoose and executed the same example and I don't get the warning
i'm using node 15.0.1

Thread Thread
 
cdthomp1 profile image
Cameron Thompson

I have node 14.15.1. I will restart my machine and see if that fixes it.

Thread Thread
 
cdthomp1 profile image
Cameron Thompson • Edited

I reset my machine and installed the latest version of Node. Still receiving the warning.

Thread Thread
 
esix34238932 profile image
Esix

const mongoose = require('mongoose');

const connectDB = async () => {
try {
const conn = await mongoose.connect(process.env.MONGO_URI,
{
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
});
console.log(MongoDB Connect: ${conn.connection.host})

} catch (err) {
    console.error(`Error: ${err.message}`);
    process.exit(1);
}
Enter fullscreen mode Exit fullscreen mode

}

module.exports = connectDB

Collapse
 
hellnar profile image
Stas Klymenko

Here is a page from Mongoose about this kind of errors:
mongoosejs.com/docs/deprecations.html

I've used all these 4 settings and the problem was solved:

mongoose.set('useNewUrlParser', true);
mongoose.set('useFindAndModify', false);
mongoose.set('useCreateIndex', true);
mongoose.set('useUnifiedTopology', true);

Collapse
 
cdthomp1 profile image
Cameron Thompson

I have also tried this and still get the warning.

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay