где и как правильно написать посты для соцсети
Я ради интереса решил написать собственную соцсеть, на подобии вк или телеграмма. И задался вопросом, как вообще стоит хранить посты в профиле? Перерыв пол интернета, так ничего и не нашел и принялся делать сам.
Написал я Модель поста для MongoDB
const PostSchema = new Schema({
PID:{type:Number,required:true}, //Id профиля к которому привязан пост
title:{type:String,required:true},
author:{
id: {type: Number, required: true},
},
images:[{key:String,link:String}],
likes:{
count:{type:Number, default:0,required:false},
users:{type:[Number],default:[],required:false}
},
views:{
count:{type:Number, default:0,required:false},
users:{type:[Number],default:[],required:false}
},
params:{
private:{type:Boolean,default:false,required:false}
}
})
С автором поста у меня возникли первые проблемы, как мне получать данные об авторе 1-2 запросами? Прикинул что можно записывать о нем данные сразу в пост, но как быть если они поменяються(Например медиа файлы или никнейм)? В общем адекватного решения у меня не возникло, умные люди подскажите как быть.
Вот для примера диаграмма СУБД: