Opção 2 de agregação (repetição de dados)

Nessa opção, não temos nenhuma seta de agregação para o User. Ou seja, o Usuário não está agregado a nada, teremos uma coleção SOMENTE para o User.

Isso é útil quando queremos buscar os dados do User sem buscar outros dados associados a ele.

Podemos ver também que dentro do User temos uma lista com referência dos Posts (somente Id's).

Isso é diferente do banco SQL. Nas tabelas relacionais, não podemos ter múltiplas referências.

O post agora tem duas agregações: com User e Comments.

Veja, o objeto de posts possui agregação! (Ou seja, possui outro objeto associado a ele).

❗❗LEMBRE-SE: referência é igual está no objeto de usuário, uma lista com ids referenciando os posts.

Além disso, dessa maneira (opção 2) os dados se repetem. A Maria Brown (author) do Post de ID 5001, ja está citada no início do código JSON.

Essa opção é valida quando queremos buscar um Post, por exemplo, e já saber os seus comentários e autores.

Atualizado