After listening to Mike Dirolf talk about mongoDB at a recent Django-NYC meetup I was left wanting to learn more about mongoDB and how I could integrate it into my Django projects.


This screencast will quickly review places to learn more about mongoDB, and a few available Python APIs for working with mongoDB, particularly mongoengine. It also discuss a project that shows us how to leverage all the great things about Django and also integrate a NOSQL database into the mix.

I stumbled onto the mongoEngine project about a month ago and have been meaning to post this screencast since then. What I like most about mongoEngine is that the classes structure looks and feels a lot like Django's models. I also really like its query API which also looks and feels a lot like Django's QuerySet API.

Finally, I take a look at a Django powered tumblog project that uses mongoDB in the backend. This particular project leverages a custom authentication backend for handling application authentication, Django forms, Django views, templates, urls, etc. Essentially it uses everything but the ORM.

This is not an extremely detailed tutorial -- my goal is to open up the discussion around a topic I'm not very unfamiliar with myself (NOSQL databases). What you see in the screencast is the result of about one hour of playing around with the various projects I discuss.

What brought it all together for me was finding a project that integrates both mongoDB and Django. I found that in Django-Mumblr, which I discuss in the screencast.

One thing I didn't mention in the screencast is the Django authentication support built into mongoEngine. I had planned to review it, but because of the length of the video I decided to leave it out. So, make sure to check that out if you're interested in integrating Django and mongoDB.

Special thanks to Harry Marr for both the mongoEngine and Django-Mumblr projects.

Links referenced in the screencast: