How I Learned MongoDB

I started writing small web applications in the late 90s. I came from a traditional relational database background, relying heavily on one of the most popular open source solutions, MySQL. After seeing a lot of online discussion around non-relational databases, and having talked to a number of customers looking for help with MongoDB, I knew that it was time to learn something new and get my feet wet with non-relational databases. Here are some of the steps I took and resources I used to learn MongoDB.

Documentation by MongoDB, Inc.

MongoDB, Inc. (formerly 10gen) is the company that founded MongoDB, and its website was the logical place to get started. Try MongoDB is an interactive shell on the web that is “just enough to scratch the surface” of learning. Interactive shells are becoming more popular as software developers and tutorial web sites are looking for an easy way to introduce newbies to their way of doing things with little to no overhead involved.

The MongoDB, Inc. site has valuable documentation on everything from installation to sharding while providing tutorials along the way. There’s even a “de facto standard” getting started guide, in which you can walk through creating a blog using Python and MongoDB. The site also offers a number of use cases to help determine whether a non-relational database will work for your application.

The O’Reilly Mongo Handbook

Many people aren’t fans of learning programming out of a book because the text is either too overbearing or doesn’t have quite enough information. Plus, online documentation is often updated at a much quicker pace. However, I found the MongoDB O’Reilly Handbook to have the right balance. It provides an easy point-of-reference for setting up replica sets and instructions for breaking off a shard. Also, who doesn’t like adding an O’Reilly book to their shelf?

MongoDB University

MongoDB, Inc. created an online LMS called MongoDB University designed to introduce you to their non-relational database. There is a developer track that leverages Python to show you how to program against a MongoDB backend, and it provides a DBA track with coursework that involves configuring and administering MongoDB. The programming course begins with simple problems such as setting up MongoDB, running a query and modifying a model application to work with that MongoDB instance. You then move deeper into a replica set and learn how to troubleshoot and optimize indexes and queries. Mongo University is broken up into week-increments that include coursework, quizzes and homework; and upon successful completion you can receive a certificate.

Join a Community

Joining a community was a key factor in helping me learn MongoDB. At Rackspace we formed a group called “Dinner and MongoDB” that met after work on Tuesdays and Thursdays. We were enrolled together in the Mongo University courses, and it was beneficial to have a network of people to discuss the coursework and overcome the stumbling blocks with. We created an email distribution list to ask questions as the homework became more difficult. Whether it is online or in person, I strongly advise you to consider joining a community as you embark on your MongoDB journey.

Write Simple Apps

When it comes down to it, theory is nothing if it is never applied. Ultimately, the best way to learn is to get your hands dirty and write simple apps. Even though you may be the only person who ever uses that application, writing it will give you experience with how to integrate MongoDB in future software. Learning by doing truly helped me become fairly proficient at understanding what workloads made sense to incorporate MongoDB on the backend.

While I may not be an expert, I do have a much stronger grasp on MongoDB and non-relational databases. If you are familiar with MongoDB, let me know how you went about learning in the comments below!

Once you’ve mastered MongoDB and need a place to host your database, consider using ObjectRocket by Rackspace. This is the premier MongoDB hosting with three-node replica sets, all SSD drive infrastructure and one-click scaling.

Slade Cozart is a Director of Fanatical Support. He started with Rackspace as a Linux System Administrator in 2011, working remotely from the wide expanses of West Texas before moving to the San Antonio area. Developing and improving both Racker and customer experiences are the two passions that drive where Slade spends most of his time, when he is not educating those around him on the intricacies of cotton farming and the beauty of a never-ending horizon.


  1. Thanks Slade, that was a really interesting post about getting to grips with MongoDB. Although it’s a little over my head, we’ve been using it in production since 2009 for many different things including storing historical time series data for server metrics, our core app data store and for simple queuing – It works brilliantly. Good luck to anyone starting out on the road (like me), and there’s always help on our blog if you need it!

  2. nice guidance, I’m learning MongoDB and I’m enjoying it a lot specially its natural blend with JavaScript, I read (most of it) the O’Relly handbook and also played with Mongoose.js. Now I’m in the process of developing my first web application that is based on Node.js platform with MongoDB in the backend. Coming from MS environment for the last 15 years made me better appreciate the Node.js stack and also non-relational DBs. Hopefully after I finish this web application I will have good foundation to take paid projects 🙂

  3. real nice !
    mysql has been like a loyal girlfriend to me…. but now I see I can do better… wait no… i mean I will still keep her happy and well taken care of for my sites but I shall be spending some quality time with this girl..

    that shell was awesome, a kiss in the tree house!

  4. What’s up,I check your blogs named “How I Learned MongoDB – The Official Rackspace Blog” like every week.Your humoristic style is awesome, keep it up! And you can look our website about love spell.


Please enter your comment!
Please enter your name here