Loading

Quipoin Menu

Learn • Practice • Grow

mongodb / Connecting Node.js to MongoDB
interview

Q1. How do you connect Node.js to MongoDB using the native driver?
First install the MongoDB driver:
npm install mongodb
Then connect:
const { MongoClient } = require('mongodb');
const uri = "mongodb://localhost:27017";
const client = new MongoClient(uri);

async function run() {
  try {
    await client.connect();
    const db = client.db('mydb');
    console.log('Connected');
  } finally {
    await client.close();
  }
}
run().catch(console.dir);

Q2. How do you handle connection errors?
Wrap connection logic in try/catch and listen for error events:
client.on('error', (err) => {
  console.error('MongoDB error:', err);
});

async function connect() {
  try {
    await client.connect();
  } catch (err) {
    console.error('Connection failed:', err);
  }
}

Q3. How do you use connection pooling?
The MongoDB driver uses connection pooling by default. You can configure pool size in the connection URI:
const uri = "mongodb://localhost:27017/?maxPoolSize=10";
Or in MongoClient options:
const client = new MongoClient(uri, { maxPoolSize: 10 });

Q4. What is the difference between MongoClient and Db objects?
MongoClient represents the connection to the MongoDB server. It can be used to access multiple databases.
Db represents a specific database and is obtained via client.db().
From Db, you get Collection objects to perform CRUD operations.
The hierarchy is: MongoClient → Db → Collection.

Q5. How do you close the MongoDB connection gracefully?
Call client.close() when your application shuts down. For web servers, listen for process signals:
process.on('SIGINT', async () => {
  await client.close();
  process.exit(0);
});