Skip to content

MongoDB

MongoDB is a popular document-based NoSQL database that stores data in JSON format. It’s particularly well-suited for applications requiring flexible data structures.

  1. Navigate to the “Databases” page in the dashboard
  2. Select “MongoDB”
  3. Choose a version (MongoDB 7 recommended)
  4. Configure parameters:
ParameterDescriptionExample
Service nameContainer identifiermy-mongodb
Root usernameAdmin accountadmin
Root passwordAdmin password(auto-generated)
Initial databaseDefault databasemyapp
Terminal window
# MongoDB connection string
mongodb://admin:password@mongodb-container:27017/myapp?authSource=admin
// Node.js (mongoose)
const mongoose = require('mongoose');
await mongoose.connect(process.env.MONGODB_URL);
# Python (pymongo)
from pymongo import MongoClient
client = MongoClient(os.environ['MONGODB_URL'])
db = client.myapp
// Create indexes to improve query performance
db.users.createIndex({ email: 1 }, { unique: true });
db.posts.createIndex({ createdAt: -1 });
db.products.createIndex({ name: "text", description: "text" });
Terminal window
# Export a collection
mongoexport --uri="mongodb://admin:password@mongodb:27017/myapp?authSource=admin" \
--collection=users --out=users.json
# Import data
mongoimport --uri="mongodb://admin:password@mongodb:27017/myapp?authSource=admin" \
--collection=users --file=users.json
# Full database backup
mongodump --uri="mongodb://admin:password@mongodb:27017/myapp?authSource=admin" \
--out=/backup/
# Restore database
mongorestore --uri="mongodb://admin:password@mongodb:27017/myapp?authSource=admin" \
/backup/myapp/

MongoDB’s WiredTiger storage engine uses 50% of available memory as cache by default:

# Custom WiredTiger cache size
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 1
  • Create indexes for frequently queried fields
  • Use compound indexes to optimize multi-field queries
  • Avoid too many indexes, as they increase write overhead
  • Regularly use explain() to analyze query plans

Ensure the connection string includes the authSource=admin parameter and that the username and password are correct.

MongoDB uses as much available memory as possible to cache data. You can limit memory usage by setting cacheSizeGB. For a 1 GB RAM VPS, we recommend setting the cache to 256 MB to 512 MB.