Most current MongoDB design discussions are on schema design and infrastructure design. In this presentation we'll instead explore the slightly underestimated classic application-level design patterns for writing code that integrates well with MongoDB as a database backend. We'll be applying traditional design patterns to MongoDB such as ActiveRecord, Inversion of Control, and Repository patterns, and touch on potential pitfalls when working with MongoDB over a relational database. Code examples are in C#, but will be applicable to similar object oriented languages.