├── logo.png ├── .travis.yml ├── CONTRIBUTING.md └── README.md /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andris9/awesome-mongodb/master/logo.png -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | rvm: 2.4.1 3 | before_script: gem install awesome_bot 4 | script: awesome_bot README.md --white-list https://github.com/sindresorhus/awesome,http://issuestats.com/github/ramnes/awesome-mongodb 5 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | You want to contribute to Awesome MongoDB? Great! 4 | 5 | Please ensure your pull request adheres to the following guidelines: 6 | 7 | - Make an individual pull request for each suggestion. 8 | - Use the following format: `[Resource Name](link) - Short description` 9 | - Don't repeat the resource name in the description. 10 | - Link additions should be added in alphabetical order to the relevant category. 11 | - Check your spelling and grammar. 12 | - New categories or improvements to the existing categorization are welcome. 13 | - The pull request and commit should have a useful title. 14 | 15 | Thank you for your suggestions! 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Awesome MongoDB](logo.png) 2 | 3 | # Awesome MongoDB [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 4 | 5 | [![Build status](https://img.shields.io/travis/ramnes/awesome-mongodb.svg)](https://travis-ci.org/ramnes/awesome-mongodb) 6 | 7 | > A curated list of awesome MongoDB resources, libraries, tools and applications 8 | 9 | Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. Feel free to improve this list by [contributing](CONTRIBUTING.md)! 10 | 11 | ## Table of Contents 12 | - [Resources](#resources) 13 | - [Documentation](#documentation) 14 | - [Articles](#articles) 15 | - [Books](#books) 16 | - [Talks](#talks) 17 | - [Tutorials](#tutorials) 18 | - [More](#more) 19 | - [Libraries](#libraries) 20 | - [C](#c) 21 | - [C++](#c-1) 22 | - [C#/.NET](#cnet) 23 | - [Delphi](#delphi) 24 | - [Elixir](#elixir) 25 | - [Erlang](#erlang) 26 | - [Go](#go) 27 | - [Haskell](#haskell) 28 | - [Java](#java) 29 | - [JavaScript](#javascript) 30 | - [Julia](#julia) 31 | - [Lisp](#lisp) 32 | - [Mathematica](#mathematica) 33 | - [Perl](#perl) 34 | - [PHP](#php) 35 | - [Python](#python) 36 | - [R](#r) 37 | - [Ruby](#ruby) 38 | - [Rust](#rust) 39 | - [Scala](#scala) 40 | - [Tools](#tools) 41 | - [Administration](#administration) 42 | - [Data](#data) 43 | - [Deployment](#deployment) 44 | - [Desktop](#desktop) 45 | - [Development](#development) 46 | - [Monitoring](#monitoring) 47 | - [Shell](#shell) 48 | - [Web](#web) 49 | - [Applications](#applications) 50 | 51 | ## Resources 52 | ### Documentation 53 | - [MongoDB introduction](https://docs.mongodb.com/manual/introduction/) 54 | - [MongoDB documentation](https://docs.mongodb.com/manual/) 55 | - [MongoDB tutorials](https://docs.mongodb.com/manual/tutorial/) 56 | - [More MongoDB tutorials (by Studio 3T)](https://studio3t.com/knowledge-base/categories/mongodb-tutorials/) 57 | 58 | ### Articles 59 | 60 | - [14 Things I Wish I'd Known When Starting with MongoDB (Phil Factor)](https://www.infoq.com/articles/Starting-With-MongoDB/) 61 | - [A Custom WordPress Dashboard with MongoDB Atlas, Microsoft Azure, & Serverless Functions (Ahmad Awais)](https://ahmadawais.com/wordpress-mongodb-atlas-microsoft-azure-serverless-functions/) 62 | - [Five Things About Scaling MongoDB (A. Jesse Jiryu Davis, MongoDB Inc.)](https://emptysqua.re/blog/five-things/) - Scale 101 63 | - [Optimizing MongoDB Compound Indexes (A. Jesse Jiryu Davis, MongoDB Inc.)](https://emptysqua.re/blog/optimizing-mongodb-compound-indexes/) - Everything you need/have to know about indexes 64 | - [Server Discovery And Monitoring In PyMongo, Perl, And C (A. Jesse Jiryu Davis, MongoDB Inc.) ](https://emptysqua.re/blog/server-discovery-and-monitoring-in-pymongo-perl-and-c/) 65 | - [Monitoring MongoDB performance metrics (Jean-Mathieu Saponaro, Datadog)](https://www.datadoghq.com/blog/monitoring-mongodb-performance-metrics-wiredtiger/) 66 | 67 | ### Books 68 | - [50 Tips and Tricks for MongoDB Developers](http://shop.oreilly.com/product/0636920019893.do) - Advanced MongoDB tips and tricks, given by a MongoDB inc. engineer 69 | - [Builder Book](https://builderbook.org/book) - Learn how to build a full stack JavaScript web app from scratch 70 | - [MongoDB Applied Design Patterns (Rick Copeland)](http://shop.oreilly.com/product/0636920027041.do) 71 | - [The Little MongoDB Book](https://www.openmymind.net/2011/3/28/The-Little-MongoDB-Book/) - Basic introduction 72 | 73 | ### Talks 74 | - [MongoDB Schema Design (Tugdual Grall, MongoDB Inc.)](https://www.youtube.com/watch?v=csKBT8zkRf0) [47'] 75 | - [Partial and Fuzzy Matching with MongoDB (John Page, MongoDB Inc.)](https://www.youtube.com/watch?v=hXbLHInH5qU) [35'] 76 | - [Scaling MongoDB on Amazon Web Services (Michael Saffitz, Apptentive)](https://www.youtube.com/watch?v=bkjVhEQocFI) [50'] 77 | 78 | ### Tutorials 79 | - [Kubernetes examples](https://github.com/kubernetes/examples/tree/master/staging/nodesjs-mongodb) - Deployment tutorial of a basic Node.js and MongoDB web stack on Kubernetes 80 | - [Deploy a Highly-Available MongoDB Replica Set on AWS](https://eladnava.com/deploy-a-highly-available-mongodb-replica-set-on-aws/) 81 | 82 | ### More 83 | - [MongoDB source code](https://github.com/mongodb/mongo) 84 | - [MongoDB University](https://university.mongodb.com/) - Certifications and free online courses 85 | 86 | ## Libraries 87 | ### C 88 | - [mongo-c-driver](https://github.com/mongodb/mongo-c-driver) - Official C driver 89 | 90 | ### C++ 91 | - [mongo-cxx-driver](https://github.com/mongodb/mongo-cxx-driver) - Official C++ driver 92 | 93 | ### C#/.NET ### 94 | - [mongo-csharp-driver](https://github.com/mongodb/mongo-csharp-driver) - Official C# driver 95 | - [mongo-queue-csharp](https://github.com/dominionenterprises/mongo-queue-csharp) - C# message queue on top of MongoDB 96 | - [MongoDB Messaging](https://github.com/loresoft/MongoDB.Messaging) - Lightweight queue pub/sub processing library 97 | - [MongoRepository](https://github.com/RobThree/MongoRepository) - Repository abstraction layer on top of the C# driver 98 | 99 | ### Delphi 100 | - [TMongoWire](https://github.com/stijnsanders/TMongoWire) - Minimal community Delphi driver 101 | 102 | ### Elixir 103 | - [mongodb](https://github.com/ankhers/mongodb) - Community Elixir driver 104 | - [mongodb_ecto](https://github.com/ankhers/mongodb_ecto) - Adapter for the Ecto database wrapper 105 | 106 | ### Erlang 107 | - [mongodb-erlang](https://github.com/comtihon/mongodb-erlang) - Community Erlang driver 108 | 109 | ### Go 110 | - [Bongo](https://github.com/go-bongo/bongo) - ODM based on mgo 111 | - [mgo](https://github.com/globalsign/mgo) - Community Go driver 112 | - [minquery](https://github.com/icza/minquery) - MongoDB cursor that paginates 113 | - [mongo-go-driver](https://github.com/mongodb/mongo-go-driver) - Official Go driver 114 | 115 | ### Haskell 116 | - [mongodb](https://github.com/mongodb-haskell/mongodb/) - Community Haskell driver 117 | 118 | ### Java 119 | - [Jongo](https://github.com/bguerout/jongo) - Query in Java as in Mongo shell 120 | - [Hibernate OGM](https://github.com/hibernate/hibernate-ogm) - The power and simplicity of JPA for NoSQL datastores 121 | - [mongo-java-driver](https://github.com/mongodb/mongo-java-driver) - Official Java driver 122 | - [mongo-queue-java](https://github.com/gaillard/mongo-queue-java) - Java message queue on top of MongoDB 123 | - [mongoFS](https://github.com/dbuschman7/mongoFS) - An enhancement of GridFS to allow for more features and capabilities 124 | - [Mongojack](https://github.com/mongojack/mongojack) - Based on Jackson, allows you to easily handle your mongo objects as POJOs 125 | - [Morphia](https://github.com/MorphiaOrg/morphia) - Java ODM 126 | - [Morphium](https://github.com/sboesebeck/morphium) - Java ODM and caching layer 127 | - [Mungbean](https://github.com/jannehietamaki/mungbean) - Community driver for languages running on the JVM 128 | - [Spring Data MongoDB](https://github.com/spring-projects/spring-data-mongodb) - Spring based, object-document support and repositories 129 | 130 | ### JavaScript 131 | - [Camo](https://github.com/scottwrobinson/camo) - Class-based ES6 ODM for Mongo-like databases 132 | - [MEAN.JS](https://github.com/meanjs/mean) - Full stack based on MongoDB, Express, AngularJS, and Node.js 133 | - [MERN (mern-starter)](https://github.com/Hashnode/mern-starter) - Full stack based on MongoDB, Express, React and Node.js 134 | - [Meteor](https://github.com/meteor/meteor) - Real-time/reactive client-server framework based on MongoDB, with lots of features 135 | - [Mongoose](https://github.com/Automattic/mongoose) - Node.js asynchronous ODM 136 | - [CASL Mongoose](https://github.com/stalniy/casl/tree/master/packages/casl-mongoose) - Permissions management library integrated with Mongoose 137 | - [mongration](https://github.com/awapps/mongration) - Node.js migration framework 138 | - [Moonridge](https://github.com/capaj/Moonridge) - Framework with live querying on top of Mongoose and socket.io 139 | - [node-mongodb-native](https://github.com/mongodb/node-mongodb-native) - Official Node.js driver 140 | 141 | ### Julia 142 | - [Mongo.jl](https://github.com/Lytol/Mongo.jl) - C driver bindings 143 | 144 | ### Lisp 145 | - [cl-mongo](https://github.com/fons/cl-mongo) - Community Common Lisp interface 146 | - [mongo-cl-driver](https://github.com/archimag/mongo-cl-driver) Community Common Lisp driver 147 | - [mongo-el](https://github.com/emacsorphanage/mongo) - Community Emacs Lisp driver 148 | 149 | ### Mathematica 150 | - [MongoDBLink](https://github.com/zbjornson/MongoDBLink) - Community Mathematica driver 151 | 152 | ### Perl 153 | - [mongo-perl-driver](https://github.com/mongodb/mongo-perl-driver) - Official Perl driver 154 | 155 | ### PHP 156 | - [Doctrine MongoDB](https://github.com/doctrine/mongodb) - Wrapper around the native PHP Mongo PECL extension to provide additional functionality 157 | - [eloquent-mongodb-repository](https://github.com/LaravelRepository/eloquent-mongodb-repository) - Repository implementation built on top of laravel-mongodb 158 | - [laravel-mongodb](https://github.com/jenssegers/laravel-mongodb) - Eloquent model and query builder for Laravel 159 | - [mongodb-repository](https://github.com/PHPRepository/mongodb-repository) - Repository implementation 160 | - [PHPMongo ODM](https://github.com/sokil/php-mongo) - ODM based on the PHP Mongo PECL extension 161 | - [PHPMongo Migrator](https://github.com/sokil/php-mongo-migrator) - Migration tool based on PHPMongo ODM 162 | - [pecl/mongodb](https://github.com/mongodb/mongo-php-driver) - Official PHP driver 163 | - [yadm](https://github.com/formapro/yadm) - Fast schemaless ODM 164 | 165 | ### Python 166 | - [Flask-Stupe](https://github.com/numberly/flask-stupe) - Flask extension that adds PyMongo support to Flask 167 | - [Mongo-Thingy](https://github.com/numberly/mongo-thingy) - Idiomatic and friendly-yet-powerful ODM (schemaless) 168 | - [MongoEngine](https://github.com/MongoEngine/mongoengine) - ODM on top of PyMongo 169 | - [MongoLog](https://github.com/puentesarrin/mongodb-log) - MongoDB logging handler 170 | - [Motor](https://github.com/mongodb/motor) - Non-blocking Python driver for Tornado or asyncio 171 | - [PyMongo](https://github.com/mongodb/mongo-python-driver) - Official (and recommended) Python driver 172 | - [minimongo](https://github.com/slacy/minimongo) - A lightweight, schemaless, Pythonic Object-Oriented interface 173 | - [scrapy-mongodb](https://github.com/sebdah/scrapy-mongodb) - MongoDB pipeline for Scrapy 174 | - [μMongo](https://github.com/Scille/umongo) - Driver-independent (async/sync) ODM based on marshmallow 175 | 176 | ### R 177 | - [mongolite](https://github.com/jeroen/mongolite) - Fast and simple client for R 178 | 179 | ### Ruby 180 | - [awesome_explain](https://github.com/sandboxws/awesome_explain) - A simple global method to explain Mongoid queries 181 | - [mongo-ruby-driver](https://github.com/mongodb/mongo-ruby-driver) - Official Ruby driver 182 | - [Mongoid](https://github.com/mongodb/mongoid) - ODM framework 183 | 184 | ### Rust 185 | - [mongo-rust-driver-prototype](https://github.com/mongodb-labs/mongo-rust-driver-prototype) - Prototype driver for Rust 1.x and MongoDB 3.0.x 186 | 187 | ### Scala 188 | - [mongo-scala-driver](https://github.com/mongodb/mongo-scala-driver) - Official Scala driver 189 | - [ReactiveMongo](https://github.com/ReactiveMongo/ReactiveMongo) - Non-blocking Scala driver 190 | - [Spark-MongoDB](https://github.com/Stratio/Spark-MongoDB) - Read/write data with Spark SQL 191 | 192 | ## Tools 193 | ### Administration 194 | - [mongoctl](https://github.com/mongolab/mongoctl) - Manage MongoDB servers and replica sets using JSON configurations 195 | - [MongoDB Smasher](https://github.com/duckie/mongo_smasher) - Generate randomized datasets and benchmark your setup 196 | - [mongodb-tools](https://github.com/jwilder/mongodb-tools) - Three neat Python scripts to work with collections and indexes 197 | - [mtools](https://github.com/rueckstiess/mtools) - Collection of scripts to set up test environments and visualize log files 198 | - [nginx-gridfs](https://github.com/mdirolf/nginx-gridfs) - Nginx module for serving files from GridFS 199 | - [nginx-mongodb-rest](https://github.com/minhajuddin/nginx-mongodb-rest) - REST client written as an Nginx module 200 | - [pt-mongodb-query-digest](https://www.percona.com/doc/percona-toolkit/LATEST/pt-mongodb-query-digest.html) - Aggregates queries from query profiler and reports query usage statistics 201 | - [pt-mongodb-summary](https://www.percona.com/doc/percona-toolkit/LATEST/pt-mongodb-summary.html) - MongoDB cluster status overview command line tool 202 | 203 | Services: 204 | 205 | - [Compose](https://www.compose.com/) - IBM DBaaS offer (has other database types too) 206 | - [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) - MongoDB Inc. DBaaS offer (works with AWS, Azure, or GCP) 207 | - [MongoDB Cloud Manager](https://www.mongodb.com/cloud/cloud-manager) - MongoDB Inc. databases management offer 208 | - [ObjectRocket](https://www.objectrocket.com/) - Rackspace DBaaS offer (has other database types too) 209 | - [Scalegrid](https://scalegrid.io) - Fully managed DBaaS (with option to bring your own Azure/AWS account) 210 | 211 | ### Data 212 | - [mongo_fdw](https://github.com/EnterpriseDB/mongo_fdw) - PostgreSQL foreign data wrapper 213 | - [mongo-hadoop](https://github.com/mongodb/mongo-hadoop) - Hadoop connector 214 | - [Mongolastic](https://github.com/ozlerhakan/mongolastic) - MongoDB to Elasticsearch (and vice-versa) migration tool 215 | - [MongoMultiMaster](https://github.com/rick446/mmm) - Multi-master replication 216 | - [MoSQL](https://github.com/stripe/mosql) - MongoDB to PostgreSQL streaming replication 217 | 218 | ### Deployment 219 | - [ansible-role-mongodb](https://github.com/UnderGreen/ansible-role-mongodb) - Ansible role 220 | - [chef-mongodb](https://github.com/edelight/chef-mongodb) - Chef cookbook 221 | - [Dockerfile](https://github.com/dockerfile/mongodb) 222 | - [Helm Chart](https://github.com/helm/charts/tree/master/stable/mongodb) 223 | - [puppet-mongodb](https://github.com/voxpupuli/puppet-mongodb) - Puppet module (formerly puppetlabs-mongodb) 224 | 225 | ### Desktop 226 | - [dbKoda](https://www.dbkoda.com) - Cross-platform and open-source IDE 227 | - [MongoHub](https://github.com/jeromelebel/MongoHub-Mac) - Mac native client 228 | - [Mongotron](http://mongotron.io/) - Cross-platform and open-source client built with Electron 229 | - [NoSQLBooster](https://nosqlbooster.com) - Feature-rich but easy-to-use cross-platform IDE (formerly MongoBooster) 230 | - [Nosqlclient](https://github.com/nosqlclient/nosqlclient) - Cross-platform, self hosted and easy to use management tool (formerly Mongoclient) 231 | - [QueryAssist](https://queryassist.com) - Modern and powerful GUI tool, cross-platform and easy-to-use 232 | - [Robo 3T](https://github.com/Studio3T/robomongo) - Free, native and cross-platform shell-centric GUI (formerly Robomongo) 233 | - [Studio 3T](https://studio3t.com/) - Cross-platform GUI, stable and powerful (formerly MongoChef) 234 | 235 | ### Development 236 | - [DB — AI Playground](https://play.db-ai.co) - Online playground to write, debug and share aggregations and queries 237 | - [mgodatagen](https://github.com/feliixx/mgodatagen) - Random data generator 238 | - [Mongo Playground](https://mongoplayground.net) - Online query playground 239 | - [Mongo Seeding](https://github.com/pkosiec/mongo-seeding) - Node.js library, CLI and Docker image for populating databases using JS and JSON files 240 | - [Mongoeye](https://github.com/mongoeye/mongoeye) - Schema and data analyzer: explore data in your collections 241 | - [Variety](https://github.com/variety/variety) - Schema analyzer: see what fields are in your collection and what's their content 242 | 243 | Services: 244 | 245 | - [MongoDB Stitch](https://www.mongodb.com/cloud/stitch) - MongoDB Inc. serverless platform offer 246 | 247 | ### Monitoring 248 | - [check_mongodb](https://github.com/dalenys/check_mongodb) - Nagios plugin (in Bash) 249 | - [mongo-monitor](https://github.com/dwmkerr/mongo-monitor) - Simple monitoring CLI 250 | - [mongo-munin](https://github.com/erh/mongo-munin) - Collection of Munin plugins 251 | - [Mongoop](https://github.com/Lujeni/mongoop) - Long operations monitoring and alerting 252 | - [mongomon](https://github.com/pcdummy/mongomon) - More Munin plugins 253 | - [Motop](https://github.com/tart/motop) - MongoDB top clone 254 | - [mtop](https://github.com/beaufour/mtop) - Another top clone 255 | - [nagios-plugin-mongodb](https://github.com/mzupan/nagios-plugin-mongodb) - Nagios plugin (in Python) 256 | - [Percona Monitoring and Management](https://www.percona.com/software/database-tools/percona-monitoring-and-management) - Free and open-source platform for managing and monitoring databases performances 257 | 258 | Services: 259 | 260 | - [Datadog](https://www.datadoghq.com/blog/monitor-mongodb-performance-with-datadog/) - SaaS-based monitoring 261 | - [VividCortex](https://www.vividcortex.com) - SaaS-based query performance analytics and monitoring 262 | 263 | ### Shell 264 | - [mongo-hacker](https://github.com/TylerBrock/mongo-hacker) - MongoDB shell enhancements 265 | 266 | ### Web 267 | - [adminMongo](https://github.com/mrvautin/adminMongo) - Web-based user interface to handle connections and databases needs 268 | - [mongo-express](https://github.com/mongo-express/mongo-express) - Web-based admin interface built with Express 269 | - [mongoadmin](https://github.com/thomasst/mongoadmin) - Admin interface built with Django 270 | - [Mongoku](https://github.com/huggingface/Mongoku) - MongoDB client for the web 271 | - [mongri](https://github.com/dongri/mongri) - Web-based user interface written in JavaScript 272 | - [Rockmongo](https://github.com/iwind/rockmongo) - PHPMyAdmin for MongoDB, sort of 273 | 274 | Services: 275 | 276 | - [HumongouS.io](https://www.humongous.io) - Easy online GUI and data-visualization dashboards 277 | - [MongoDB Compass](https://www.mongodb.com/products/compass) - MongoDB Inc. online GUI and data-visualization platform (has a community version) 278 | 279 | ## Applications 280 | 281 | Those open-source applications have MongoDB somewhere in their stack: 282 | 283 | - [Builder Book App](https://github.com/builderbook/builderbook) - Web app to publish books or documentation built with React and Express 284 | - [CodeCombat](https://github.com/codecombat/codecombat) - Multiplayer programming game for learning how to code 285 | - [Countly](https://github.com/countly/countly-server) - Mobile & web analytics and marketing platform built with Node.js 286 | - [FactorJS](https://github.com/fiction-com/factor) - JavaScript CMS built with Mongoose 287 | - [GrandNode](https://github.com/grandnode/grandnode) - Multi-platform e-commerce shopping cart built with ASP.NET 288 | - [Leanote](https://github.com/leanote/leanote) - Evernote clone built with Go 289 | - [NodeBB](https://github.com/NodeBB/NodeBB) - Node.js based forum software ("built for the modern web") 290 | - [Reaction](https://github.com/reactioncommerce/reaction) - Event-driven, real-time commerce platform built with ES6 291 | - [SaaS Boilerplate](https://github.com/async-labs/saas) - Boilerplate for SaaS products, built with TypeScript, React and Express 292 | - [uptime](https://github.com/fzaninotto/uptime) - Remote monitoring application built with Node.js and Bootstrap 293 | 294 | ## License 295 | [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) 296 | 297 | To the extent possible under law, [Guillaume Gelin](https://github.com/ramnes) has waived all copyright and related or neighboring rights to this work. 298 | --------------------------------------------------------------------------------