Document databases are more flexible in many ways than relational databases and this presents both opportunities and challenges. Poorly designed document structures adversely affect performance, increase maintenance overhead, and lead to unnecessarily complex application code. This presentation describes 5 commonly used design patterns in document databases: one-to-many, many-to-many, simple table inheritance, trees and lookup patterns. Each pattern is described in sufficient detail so attendees will understand their purpose, advantages, disadvantages and when to use them. Examples are drawn from multiple application areas. The talk will also include comparisons to relational database patterns for the benefit of relational modelers who are beginning to work with NoSQL databases.