MongoDB
Awesome MongoDB ¶
A curated list of awesome MongoDB resources, libraries, tools and applications
Inspired by the awesome list thing. Feel free to improve this list by contributing!
Resources¶
Documentation¶
- MongoDB Server Introduction
- MongoDB Server Documentation
- MongoDB Tutorials
- MongoDB Guides
- MongoDB Developer Center
- MongoDB Driver Documentation
- MongoDB Connectors
Articles¶
- 14 Things I Wish I'd Known When Starting with MongoDB (Phil Factor)
- A Custom WordPress Dashboard with MongoDB Atlas, Microsoft Azure, & Serverless Functions (Ahmad Awais)
- Building with Patterns - Series of articles regarding MongoDB Design Patterns and common use case of each Design Pattern with real world examples.
- Five Things About Scaling MongoDB (A. Jesse Jiryu Davis, MongoDB Inc.) - Scale 101
- Optimizing MongoDB Compound Indexes (A. Jesse Jiryu Davis, MongoDB Inc.) - Everything you need/have to know about indexes
- Server Discovery And Monitoring In PyMongo, Perl, And C (A. Jesse Jiryu Davis, MongoDB Inc.)
- Monitoring MongoDB performance metrics (Jean-Mathieu Saponaro, Datadog)
- Tuning MongoDB performance for production systems (Marek Trunkat, Apify) - The techniques and MongoDB Cloud features to debug performance issues and expose sub-optimal queries
Books¶
- 50 Tips and Tricks for MongoDB Developers - Advanced MongoDB tips and tricks, given by a MongoDB inc. engineer
- Builder Book - Learn how to build a full stack JavaScript web app from scratch
- MongoDB Applied Design Patterns (Rick Copeland)
- Practical MongoDB Aggregations E-Book - Free e-book: How to develop effective and optimal data manipulation and analytics pipelines
- The Little MongoDB Book - Basic introduction
- SaaS Boilerplate Book - Learn how to build a production-ready SaaS web app from scratch
Talks¶
- MongoDB Schema Design (Tugdual Grall, MongoDB Inc.) [47']
- Partial and Fuzzy Matching with MongoDB (John Page, MongoDB Inc.) [35']
- Scaling MongoDB on Amazon Web Services (Michael Saffitz, Apptentive) [50']
Tutorials¶
- Kubernetes examples - Deployment tutorial of a basic Node.js and MongoDB web stack on Kubernetes
- Deploy a Highly-Available MongoDB Replica Set on AWS
- Sharded Cluster with Docker Compose
More¶
- MongoDB source code
- MongoDB University - Certifications and free online courses
- MongoDB 101 by Academy 3T - Free and self-paced MongoDB courses for beginners
Libraries¶
Ballerina¶
- ballerina-mongodb - Official Ballerina driver
C¶
- mongo-c-driver - Official C driver
C++¶
- mongo-cxx-driver - Official C++ driver
C#/.NET¶
- mongo-csharp-driver - Official C# driver
- mongo-efcore-provider - Official Entity Framework (EF) Core provider for MongoDB
- mongo-queue-csharp - C# message queue on top of MongoDB
- MongoDB Messaging - Lightweight queue pub/sub processing library
- MongoRepository - Repository abstraction layer on top of the C# driver
D¶
- vibe.d - D web framework shipping with a MongoDB driver
Dart¶
- mongo_dart - Community Dart driver
Delphi¶
- Alcinoe - Library for Delphi that includes a MongoDB client
- TMongoWire - Minimal community Delphi driver
Elixir¶
- elixir-mongodb-driver - Community Elixir driver
- mongodb - Community Elixir driver
- mongodb_ecto - Adapter for the Ecto database wrapper
Erlang¶
- mongodb-erlang - Community Erlang driver
Fantom¶
- afMongo - Community Fantom driver
Go¶
- Bongo - ODM based on mgo
- mgo - Community Go driver
- minquery - MongoDB cursor that paginates
- mongo-go-driver - Official Go driver
Haskell¶
- mongodb - Community Haskell driver
Java¶
- Jongo - Query in Java as in Mongo shell
- Hibernate OGM - The power and simplicity of JPA for NoSQL datastores
- mongo-java-driver - Official Java driver
- mongo-queue-java - Java message queue on top of MongoDB
- mongoFS - An enhancement of GridFS to allow for more features and capabilities
- Mongojack - Based on Jackson, allows you to easily handle your mongo objects as POJOs
- Morphia - Java ODM
- Morphium - Java ODM and caching layer
- Mungbean - Community driver for languages running on the JVM
- Spring Data MongoDB - Spring based, object-document support and repositories
JavaScript¶
- Camo - Class-based ES6 ODM for Mongo-like databases
- deno_mongo - Community Deno driver
- DeriveJS - Reactive ODM that uses Javascript Proxies to enable transparent DB persistence
- MEAN.JS - Full stack based on MongoDB, Express, AngularJS, and Node.js
- MERN (mern-starter) - Full stack based on MongoDB, Express, React and Node.js
- Meteor - Real-time/reactive client-server framework based on MongoDB, with lots of features
- Mongoose - Node.js asynchronous ODM
- CASL Mongoose - Permissions management library integrated with Mongoose
- mongration - Node.js migration framework
- Moonridge - Framework with live querying on top of Mongoose and socket.io
- Neuledge - Universal schema-based ORM with multi-state representation for entities
- node-mongodb-native - Official Node.js driver
Julia¶
- Mongo.jl - C driver bindings
Kotlin¶
- driver-kotlin-coroutine - Official Kotlin driver
- kmongo - Kotlin toolkit based on the Java driver
Lisp¶
- cl-mongo - Community Common Lisp interface
- mongo-cl-driver Community Common Lisp driver
- mongo-el - Community Emacs Lisp driver
Mathematica¶
- MongoDBLink - Community Mathematica driver
OCaml¶
- Mongo.ml - Community OCaml driver
PHP¶
- laravel-mongodb - Official Eloquent model and query builder for Laravel
- PHP Driver - Official PHP driver
- Doctrine MongoDB ODM and MongoDB ODM Bundle for Symfony - Fully featured ORM with Symfony integration
- MongoDB Bundle - Integration of the official library with Symfony, without ORM
- yii-mongodb - Yii 2 MongoDB extension
- opentelemetry php auto-mongodb - Automatic monitoring of MongoDB commands with OpenTelemetry
- mongo-php-adapter - Adapter for applications using
ext-mongo
PowerShell¶
- Mdbc - MongoDB cmdlets for PowerShell
Python¶
- AtlasQ - MongoDB Atlas Search wrapper with MongoEngine syntax
- Beanie - Asynchronous ODM based on Motor and Pydantic, which supports migrations out of the box
- Djongo - MongoDB connector for Django compatible with Django ORM
- Flask-MongoEngine - Flask extension that integrates MongoEngine, WTForms and FlaskDebugToolbar
- Flask-Stupe - Flask extension that adds PyMongo support to Flask
- Mongo-Thingy - Powerful schema-less ODM for MongoDB and Python (sync + async)
- MongoEngine - ODM on top of PyMongo
- MongoLog - MongoDB logging handler
- Motor - Official non-blocking Python driver for Tornado or asyncio
- PyMongo - Official Python driver
- PyMongoExplain - A wrapper for PyMongo's Collection object that makes it easy to run
explain
on your queries. - minimongo - A lightweight, schemaless, Pythonic Object-Oriented interface
- ODMantic - Asynchronous ODM on top of pydantic
- scrapy-mongodb - MongoDB pipeline for Scrapy
- TxMongo - Twisted's MongoDB driver
- μMongo - Driver-independent (async/sync) ODM based on marshmallow
R¶
- mongolite - Fast and simple client for R
Ruby¶
- awesome_explain - A simple global method to explain Mongoid queries
- mongo-ruby-driver - Official Ruby driver
- Mongoid - ODM framework
Rust¶
- mongodb-rust-driver - Official Rust driver
Scala¶
- driver-scala - Official Scala driver
- ReactiveMongo - Non-blocking Scala driver
- Spark-MongoDB - Read/write data with Spark SQL
Smalltalk¶
- MongoTalk - Community Smalltalk driver
Swift¶
- MongoKitten - Community asynchronous Swift driver
Tools¶
Administration¶
- k8s-backup-mongodb - Schedule MongoDB backups to S3 with a Kubernetes CronJob.
- mgob - Full-featured MongoDB dockerized backup agent
- mongoctl - Manage MongoDB servers and replica sets using JSON configurations
- MongoDB Smasher - Generate randomized datasets and benchmark your setup
- mongodb-tools - Three neat Python scripts to work with collections and indexes
- mtools - Collection of scripts to set up test environments and visualize log files
- nginx-gridfs - Nginx module for serving files from GridFS
- nginx-mongodb-rest - REST client written as an Nginx module
- pt-mongodb-query-digest - Aggregates queries from query profiler and reports query usage statistics
- pt-mongodb-summary - MongoDB cluster status overview command line tool
Services: - MongoDB Atlas - MongoDB Inc. DBaaS offer (works with AWS, Azure, or GCP) - MongoDB Cloud Manager - MongoDB Inc. databases management offer - ObjectRocket - Rackspace DBaaS offer (has other database types too) - Scalegrid - Fully managed DBaaS (with option to bring your own Azure/AWS account)
Data¶
- mongo-connector - Streaming replication to Elasticsearch, Solr, or MongoDB
- mongo_fdw - PostgreSQL foreign data wrapper
- mongo-hadoop - Hadoop connector
- Mongolastic - MongoDB to Elasticsearch (and vice-versa) migration tool
- MongoMultiMaster - Multi-master replication
Deployment¶
- ansible-role-mongodb - Ansible role
- chef-mongodb - Chef cookbook
- DockerHub Official Docker Image
- Helm Chart
- puppet-mongodb - Puppet module (formerly puppetlabs-mongodb)
Services: - Cluster to cluster sync - MongoDB Inc. solution for continuous data sync between separate clusters
Desktop¶
- Compass - Free Cross-platform GUI from MongoDB
- MongoDB for VS Code - Connect to MongoDB and prototype queries from VS Code
- MongoHub - Mac native client
- WebDB – Web-based and open-source "efficient database IDE". Provides ERDs, data generators, an AI assistant, a NoSQL structure manager, a time machine, auto-completion and more
Services: - DataGrip - Cross-platform JetBrains' IDE - Mingo - MongoDB Admin. Intuitive UI. Fast. Reliable - Moon Modeler - Data modeling tool for MongoDB and relational databases - NoSQLBooster - Feature-rich but easy-to-use cross-platform IDE (formerly MongoBooster) - Studio 3T - Cross-platform GUI, stable and powerful (formerly MongoChef and Robo 3T) - TablePlus - Native, lightweight GUI on macOS
Development¶
- C# Analyzer - View the MongoDB Query API equivalents of your builder expressions in Visual Studio
- mgodatagen - Random data generator
- migrate-mongo - Database migration tool
- Mongo Playground - Online query playground
- Mongo Seeding - Node.js library, CLI and Docker image for populating databases using JS and JSON files
- Mongoeye - Schema and data analyzer: explore data in your collections
- Variety - Schema analyzer: see what fields are in your collection and what's their content
- VS Code Extension
Services: - MongoDB Atlas App Services - MongoDB Inc. solution to run code without the operational overhead - MongoDB Realm - MongoDB Inc. solution for mobile data sync
Monitoring¶
- check_mongodb - Nagios plugin (in Bash)
- mongo-monitor - Simple monitoring CLI
- mongo-munin - Collection of Munin plugins
- Mongoop - Long operations monitoring and alerting
- mongomon - More Munin plugins
- Motop - MongoDB top clone
- mtop - Another top clone
- nagios-plugin-mongodb - Nagios plugin (in Python)
- Percona Monitoring and Management - Free and open-source platform for managing and monitoring databases performances
- mongotail - Log all MongoDB queries in a "tail"able way
Services:
- Datadog - SaaS-based monitoring
- Solarwindws Database Performance Monitor - SaaS-based query performance analytics and monitoring
Low-Code¶
💡 These tools are not necessarily made for MongoDB in particular, but support it.
- Appsmith - Open-source Retool alternative
- Appwrite - Open-source Firebase alternative
- Budibase - Open-source Retool alternative
- ILLA Builder - Open-source Retool alternative
- Tooljet - Open-source Retool alternative
Services: - DronaHQ - Retool alternative - Retool - Drag-and-drop editor with pre-built components to build internal tools
Shell¶
- MongoDB Atlas CLI - Official Atlas API command-line client
- mongosh - Official command-line client
Web¶
- adminMongo - Web-based user interface to handle connections and databases needs
- mongo-express - Web-based admin interface built with Express
- mongoadmin - Admin interface built with Django
- Mongoku - MongoDB client for the web
- mongri - Web-based user interface written in JavaScript
- Rockmongo - PHPMyAdmin for MongoDB, sort of
Services:
- HumongouS.io - Easy online GUI and data-visualization dashboards
Applications¶
Those open-source applications have MongoDB somewhere in their stack:
- Builder Book App - Web app to publish books or documentation built with React and Express
- CodeCombat - Multiplayer programming game for learning how to code
- Countly - Mobile & web analytics and marketing platform built with Node.js
- FactorJS - JavaScript CMS built with Mongoose
- GrandNode - Multi-platform e-commerce shopping cart built with ASP.NET
- Leanote - Evernote clone built with Go
- NodeBB - Node.js based forum software ("built for the modern web")
- Reaction - Event-driven, real-time commerce platform built with ES6
- SaaS Boilerplate - Boilerplate for SaaS products, built with TypeScript, React and Express
- uptime - Remote monitoring application built with Node.js and Bootstrap
- WildDuck Mail Server - Scalable high availability email server that uses MongoDB for email storage
License¶
To the extent possible under law, Guillaume Gelin has waived all copyright and related or neighboring rights to this work.