Courses & TutorialsProgramming
Awesome MongoDB – Massive Collection of Resources
A curated list of awesome MongoDB resources, libraries, tools and applications
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)
- 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)
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)
- 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
- 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
- MongoDB 101 by Academy 3T – Free and self-paced MongoDB courses for beginners
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
- 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
- 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
- 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
- PHPMongo ODM – ODM based on the PHP Mongo PECL extension
- PHPMongo Migrator – Migration tool based on PHPMongo ODM
- pecl/mongodb – Official PHP driver
- yadm – Fast schemaless ODM
Python
- Flask-Stupe – Flask extension that adds PyMongo support to Flask
- Mongo-Thingy – Idiomatic and friendly-yet-powerful ODM (schemaless)
- MongoEngine – ODM on top of PyMongo
- MongoLog – MongoDB logging handler
- 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)
- 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
- Dockerfile
- Helm Chart
- puppet-mongodb – Puppet module (formerly puppetlabs-mongodb)
Desktop
- DataGrip – Cross-platform JetBrains’ IDE
- 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)
- QueryAssist – Modern and powerful GUI tool, cross-platform and easy-to-use
- Robo 3T – Free, native and cross-platform shell-centric GUI (formerly Robomongo)
- Studio 3T – Cross-platform GUI, stable and powerful (formerly MongoChef)
- TablePlus – Native, lightweight GUI on macOS
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 Realm – MongoDB Inc. development services and SDK
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
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
- 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
- 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
- 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