Skip to content

Instantly share code, notes, and snippets.

@alexbevi
Last active February 8, 2023 18:40
Show Gist options
  • Save alexbevi/35af6a32b0c59d2f202125cc02e02a97 to your computer and use it in GitHub Desktop.
Save alexbevi/35af6a32b0c59d2f202125cc02e02a97 to your computer and use it in GitHub Desktop.
MongoDB Roadmap (proposal for roadmap.sh)
  • MongoDB Basics
    • SQL vs NoSQL
    • What is MongoDB?
    • What is MongoDB Atlas?
    • When to use MongoDB?
  • MongoDB data model and data types
    • BSON (Binary JSON) data types
      • Double
      • String
      • Object
      • Array
      • Binary data
      • Undefined
      • ObjectId
      • Boolean
      • Date
      • Null
      • Regular Expression
      • JavaScript
      • Symbol
      • Integer or Int32
      • Timestamp
      • Integer or Int64
      • Decimal128
      • Min key
      • Max key
    • Embedded documents and arrays
  • MongoDB collections and documents
    • Creating, reading, updating, and deleting collections and documents
    • Common collection methods and properties
      • countDocuments() and estimatedDocumentCount()
      • find() and findOne()
      • insertOne() and insertMany()
      • updateOne() and updateMany()
      • deleteOne() and deleteMany()
      • createIndex() and dropIndex()
      • validate() and listIndexes()
  • MongoDB CRUD (Create, Read, Update, and Delete) operations
    • insert, find, update, and delete operations
    • insertMany, bulkWrite, updateMany and deleteMany operations
    • upsert option
    • write concern
  • MongoDB query and projection operators
    • Comparison operators ($eq, $gt, $lt, $gte, $lte, $ne)
    • Logical operators ($and, $or, $not, $nor)
    • Element operators ($exists, $type, $regex)
    • Array operators ($in, $nin, $all, $elemMatch, $size)
    • Projection operators ($project, $include, $exclude, $slice)
  • MongoDB indexing and performance optimization
    • Index types (single field, compound, text, and geospatial)
    • Atlas Search indexes
    • Creating and managing indexes
    • Tips for optimizing query performance
  • MongoDB data aggregation and pipeline
    • Aggregation framework concepts
      • Concept of pipeline
      • Concept of stages
      • Concept of operators
    • Common pipeline stages ($match, $group, $sort, $project, $skip, $limit, etc.)
    • Using the aggregate() method
  • MongoDB transactions
    • Multi-document transactions
    • Retryable writes
  • MongoDB Developer Tools and Interfaces
    • MongoDB Drivers
      • C
      • C++
      • C#
      • Go
      • Java
      • Node.js
      • PHP
      • Python
      • Ruby
      • Rust
      • Scala
      • Swift
    • MongoDB Connectors
      • Kafka
      • Spark
    • MongoDB Developer Tools
      • MongoDB C# Analyzer
      • MongoDB for VS Code
  • MongoDB installation and setup
    • Installing MongoDB on different operating systems (Windows, Mac, Linux)
      • Downloading the MongoDB Community Server
      • Installing and configuring MongoDB
    • Setting up MongoDB replica sets and sharded clusters
      • Setting up replica sets
      • Setting up sharded clusters
    • MongoDB configuration options and tuning
      • Configuring MongoDB options
      • Tuning MongoDB for performance
    • MongoDB tools and utilities (mongo shell, Compass, etc.)
      • Mongo shell
      • Compass
      • MongoDB Ops Manager
      • MongoDB Cloud Manager
  • MongoDB security (authentication and authorization)
    • Role-based access control
    • X.509 certificate authentication
    • Kerberos authentication
    • LDAP Proxy authentication
    • Auditing
    • Encryption
      • Encryption at rest
      • Queryable encryption
      • Client-side field level encryption
      • TSL/SSL encryption
  • MongoDB backup and recovery
    • mongodump, mongorestore
    • Cloud-based backups
  • MongoDB scaling and performance
    • Replica sets and sharding
    • Indexing and query optimization
    • Horizontal Scaling
    • Vertical Scaling
    • Read and Write Sharding
    • Auto-Sharding
    • Sharded Cluster Deployment
    • Monitoring and Troubleshooting
    • Capacity Planning
    • Backup and Recovery Strategies for Scaled Systems
    • Scaling for Multiple Data Centers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment