Se você precisar consultar seus usuários, mantenha os usuários em paz. Se você precisar consultar seus uploads, mantenha os uploads sozinhos.
Outra pergunta que você deve se fazer é:Toda vez que preciso desses dados, preciso dos objetos incorporados (e vice-versa)? Quantas vezes esses dados serão atualizados? Quantas vezes esses dados serão lidos?
Pense em um pedido de amizade: Cada vez que você precisar da solicitação, precisará do usuário que fez a solicitação e, em seguida, incorpore a solicitação no documento do usuário.
Você também poderá criar um índice no objeto incorporado, e sua pesquisa será mono-consulta/rápida/consistente.
Apenas um link para minha resposta anterior sobre uma pergunta semelhante: Relações do Mongo DB entre objetos
Acho que esta postagem será adequada para você http://www.mongodb.org/ display/DOCS/Schema+Design
Casos de uso
Cliente / Pedido / Item de linha do pedido
Sistema de blogs.
Noções básicas de design de esquema
Kyle Banker, 10 geração
Indexação e otimização de consultasAlvin Richards, diretor sênior de engenharia corporativa
**Esses 2 vídeos são os melhores no mongoddb já vistos imho*