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); });