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.
{
"id": "1001",
"name": "Maria Brown",
"email": "maria@gmail.com",
"posts": ["5001", "5010"]
}
{
"id": "5001",
"date": "2018-03-21",
"title": "Partiu viagem",
"body": "Vou viajar para São Paulo. Abraços!",
"author": {
"id": "1001",
"name": "Maria Brown"
},
"comments": [
{
"text": "Boa viagem mano!",
"date": "2018-03-21",
"author": {
"id": "1013",
"name": "Alex Green"
}
},
{
"text": "Aproveite!",
"date": "2018-03-22",
"author": {
"id": "1027",
"name": "Bob Grey"
}
}
]
}
{
"id": "5010",
"date": "2018-03-23",
"title": "Bom dia",
"body": "Acordei feliz hoje!",
"author": {
"id": "1001",
"name": "Maria Brown"
},
"comments": [
{
"text": "Tenha um ótimo dia!",
"date": "2018-03-23",
"author": {
"id": "1013",
"name": "Alex Green"
}
}
]
}
Atualizado