Я веб-сайт, посвященный новостной бумаге.Как структурировать данные JSON в mongoDB?
Сайт содержит статьи, содержащие заголовок, текст, временную метку, автора и раздел комментариев.
Раздел комментариев содержит комментарии от самых разных пользователей, которые могут комментировать статью, оставлять комментарии и отвечать на другие комментарии.
Я использую MongoDB (новичок), и мой вопрос заключается в том, что было бы keept в объекте JSON.
Например, будет ли каждая статья новостей представлять собой один объект со всеми комментариями пользователя внутри него. Или было бы более читаемым иметь каждый текст/комментарий как собственный объект.
{"article": {
"id": "title of article",
"text": "text of article",
"author": "author of article",
"date": "date",
"comment_section": {
"user": "username",
"text": "text from comment",
"upvotes": int,
},
}}
Или что-то вроде:
{"text": {
"text_type": "article text or comment",
"text": "text of article or comment",
"date": "date",
"author": "author of article or comment author",
"upvotes": int,
}}
Если первый пример будет иметь меньше объектов, но много вещей в них, и последний, множество объектов, а не много данных в них.
Спасибо.
Как я понял, вы предлагаете первый вариант, вы также предлагаете хранить все разные статьи новостей в том же объекте? – Isbister
По моему опыту, я предлагаю иметь коллекцию статей и хранить первые N комментариев, которые вы планируете отображать на странице, в любом случае, там тоже. Так что для рендеринга страницы статьи вы получаете все данные в одном запросе mongo. Если у вас больше N комментариев, добавьте дополнительную информацию в отдельную коллекцию, потому что она может легко вырасти до тысячи комментариев по одной статье, что сделает документ статьи слишком дорогостоящим для чтения или изменения. –