Práticas recomendadas para modelagem de dados no Firebase / AngularFire

Estou desenvolvendo um aplicativo no Firebase pela primeira vez e fiquei curioso para saber como modelar os dados entre dois objetos, umuser e umpost. Eu venho de mais de um fundo de banco de dados relacional e fiquei curioso não apenas como isso seria feito em bancos de dados não relacionais, mas especificamente como configurar um relacionamento entre dois objetos no Firebase.

Por exemplo, meu aplicativo tem muitos usuários e cada usuário cria muitas postagens.

User {
    firstName: String,
    lastname: String,
    userName: String
}

Post {
    title: String,
    content: String,
    date: Date,
    writtenBy: [User object?]
}

Como devo estruturar esses dois objetos no Firebase para que uma publicação pertença a um usuário, mas todas as publicações possam ser consultadas independentemente do usuário, e os objetos usuário e publicação podem ser editados sem interromper os dados e / ou o relacionamento do outro objeto?

E como devo criar novos objetos "relacionais" via firebase:

sync.$set({userA: {
   firstname: "Billy",
   lastName: "Bob",
   userName: "BillyBob",
   Posts: {
       // .....
   }
}
});

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion