igor.kaist
Текущая задача достаточно простая, сайтик с портфолио фотографа (меня). Категории, фотографии и прочие мелочи. Хочу что то типа этого:
{'type':'catalog','name':'wedding','photos':[photo1,photo2,photo3]}
{'type':'news','title':'Some title','photos':[photo2]}
{'type':'photo','url':'/images/1.jpg','title':'Some title'}
в монго есть коллекции: не обязательно хранить тип:
db.catalog.save( {'name':'wedding','photos':[photo1,photo2,photo3]} )
db.news.save( {'title':'Some title','photos':[photo2]} )
db.photo.save( {'url':'/images/1.jpg','title':'Some title'} )
не понятно зачем фотки отдельно, их можно отдельно если например нужна возможность их комментирования, комментарии пихать в этот же документ, а вообще вариантов архитектур можно напридумывать много.
Если на какие-то объекты нет ссылок из нескольких мест (комменты, фотки, настройки, подписки…), то их желательно хранить внутри документа (владельца), что-б при открытии страницы клиентом, делать 1 запрос, что-бы достать всю нужную информацию.
По своему опыту пришел к выводу, что архитектуру нужно строить так, что-бы данные хранились в максимально готовом виде, + минимум запросов. - это похоже на кеширование - но это не оно.