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!
Table of Contents
Resources
Documentation
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)
- 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)
Books
- Builder Book - Learn how to build a full stack JavaScript web app from scratch
- MongoDB Applied Design Patterns (Rick Copeland)
- The Little MongoDB Book - Basic introduction
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
- Create a TV Show Tracker Using AngularJS, Node.js, and MongoDB - Build a REST API using Mongoose to create and retrieve data
- Kubernetes examples - Deployment tutorial of a basic Node.js and MongoDB web stack on Kubernetes
- Deploy a Highly-Available MongoDB Replica Set on AWS
More
- MongoDB source code
- MongoDB University - Certifications and free online courses
Libraries
C
- mongo-c-driver - Official C driver
C++
- mongo-cxx-driver - Official C++ driver
C#/.NET
- mongo-csharp-driver - Official C# driver
- 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
Delphi
- TMongoWire - Minimal community Delphi driver
Elixir
- mongodb - Community Elixir driver
- mongodb_ecto - Adapter for the Ecto database wrapper
Erlang
- mongodb-erlang - Community Erlang driver
Go
- mgo - Community 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 ("Object-Document Mapper")
- 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
- 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
- node-mongodb-native - Official Node.js driver
Julia
- Mongo.jl - C driver bindings
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
Perl
- mongo-perl-driver - Official Perl driver
PHP
- Doctrine MongoDB - Wrapper around the native PHP Mongo PECL extension to provide additional functionality
- eloquent-mongodb-repository - Repository implementation built on top of laravel-mongodb
- laravel-mongodb - Eloquent model and query builder for Laravel
- mongodb-repository - Repository implementation
- pecl/mongodb - Official PHP driver
Python
- Flask-Stupe - Flask extension that adds PyMongo support to Flask
- MongoEngine - ODM on top of PyMongo
- MongoLog - MongoDB logging handler
- Mongo-Thingy - The most idiomatic and friendly-yet-powerful ODM
- Motor - Non-blocking Python driver for Tornado or asyncio
- PyMongo - Official (and recommended) Python driver
- minimongo - A lightweight, schemaless, Pythonic Object-Oriented interface
- scrapy-mongodb - MongoDB pipeline for Scrapy
- μ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
- mongo-rust-driver-prototype - Prototype driver for Rust 1.x and MongoDB 3.0.x
Scala
- mongo-scala-driver - Official Scala driver
- ReactiveMongo - Non-blocking Scala driver
- Spark-MongoDB - Read/write data with Spark SQL
Tools
Administration
- 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:
- Compose - IBM DBaaS offer (has other database types too)
- mLab - Fully managed DBaaS (formerly MongoLab)
- 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_fdw - PostgreSQL foreign data wrapper
- mongo-hadoop - Hadoop connector
- Mongolastic - MongoDB to Elasticsearch (and vice-versa) migration tool
- MongoMultiMaster - Multi-master replication
- MoSQL - MongoDB to PostgreSQL streaming replication
Deployment
- ansible-role-mongodb - Ansible role
- chef-mongodb - Chef cookbook
- Dockerfile
- Helm Chart
- puppet-mongodb - Puppet module (formerly puppetlabs-mongodb)
Desktop
- dbKoda - Cross-platform and open-source IDE
- MongoHub - Mac native client
- Mongotron - Cross-platform and open-source client built with Electron
- NoSQLBooster - Feature-rich but easy-to-use cross-platform IDE (formerly MongoBooster)
- Nosqlclient - Cross-platform, self hosted and easy to use management tool (formerly Mongoclient)
- Robo 3T - Free, native and cross-platform shell-centric GUI (formerly Robomongo)
- Studio 3T - Cross-platform GUI, stable and powerful (formerly MongoChef)
Development
- mgodatagen - Random data generator
- 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
Services:
- MongoDB Stitch - MongoDB Inc. serverless platform offer
Monitoring
- check_mongodb - Nagios plugin (in Bash)
- Mongoop - Long operations monitoring and alerting
- Motop - MongoDB top clone
- mtop - Another top clone
- mongo-monitor - Simple monitoring CLI
- mongo-munin - Collection of Munin plugins
- mongomon - More Munin plugins
- nagios-plugin-mongodb - Nagios plugin (in Python)
- Percona Monitoring and Management - Free and open-source platform for managing and monitoring databases performances
Services:
- Datadog - SaaS-based monitoring
- VividCortex - SaaS-based query performance analytics and monitoring
Shell
- mongo-hacker - MongoDB shell enhancements
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
- mongri - Web-based user interface written in JavaScript
- Rockmongo - PHPMyAdmin for MongoDB, sort of
Services:
- HumongouS.io - Easy online GUI and data-visualization dashboards
- MongoDB Compass - MongoDB Inc. online GUI and data-visualization platform (has a community version)
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
- 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")
- Quokka - Python CMS built with Flask
- 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
License
To the extent possible under law, Guillaume Gelin has waived all copyright and related or neighboring rights to this work.