This document discusses different approaches to modeling messaging inboxes in MongoDB. It describes three main approaches: fan out on read, fan out on write, and bucketed fan out on write. Fan out on read involves storing a single document per message with all recipients, requiring a scatter-gather query to read an inbox. Fan out on write stores one document per recipient but still requires random reads. Bucketed fan out on write stores messages in bucketed inbox documents for each recipient, allowing an entire inbox to be read with one or two documents. In general, bucketed fan out on write is considered the best approach as it provides good performance for both sending messages and reading inboxes. Factors like data size, write vs read loads