Unlike SQL relational databases that require explicit CREATE DATABASE queries before inserting data, MongoDB creates databases and collections implicitly on-demand when data is first written into them.
flowchart LR
A["Node.js Client"] -->|"client.db('new_analytics_db')"| B["Lazy Database Reference"]
B -->|"db.collection('events').insertOne({...})"| C["Implicit Creation of DB & Collection on Disk"]
import { MongoClient } from 'mongodb';
const uri = 'mongodb://127.0.0.1:27017';
const client = new MongoClient(uri);
async function initializeNewDatabase() {
try {
await client.connect();
// Reference dynamic target database name
const db = client.db('company_analytics');
// Referencing collection and inserting initial document triggers database creation
const eventsCollection = db.collection('user_activity');
const insertResult = await eventsCollection.insertOne({
eventType: 'USER_LOGIN',
userId: 1001,
timestamp: new Date(),
metadata: { ip: '192.168.1.1', device: 'Desktop' }
});
console.log(`Database & Collection initialized! Inserted Document ID: ${insertResult.insertedId}`);
} catch (err) {
console.error('Database Initialization Failed:', err.message);
} finally {
await client.close();
}
}
initializeNewDatabase();
show dbs list until at least one document is written.user_analytics) for database and collection names.What action actually creates a new database on disk in MongoDB?
Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.
Quick Access With