2014-02-03 3 views
1

Я работаю над приложением, которое будет иметь пользователей .. кто создает сообщения .. а другим пользователям может понравиться/комментировать любое сообщение.Parse.com Дизайн базы данных для симпатий/комментариев`

Я пытаюсь найти лучший способ для создания таблиц db для этого. Я прочитал учебник anypics на сайте parse.com. Они сохраняют все комментарии и комментарии в таблице под названием «Активность». (что имеет смысл) в состоянии запросить любой тип активности (например, комментарий) из отдельной таблицы без необходимости касаться таблицы «posts».

Мой вопрос в этом сценарии, как я могу получить все сообщения, созданные текущим пользователем вместе с комментариями и комментариями к этим сообщениям?

Приложение Anypic by parse делает отдельный запрос, чтобы получить количество понравившихся на каждое сообщение (что, я думаю, не идеально). Я новичок в хранилищах данных nosql .. так что если кто-то может помочь мне с предложением о том, как данные структуры были бы большими.

Кроме того, как плохо хранить все понравившиеся комментарии или комментарии в виде массива в самом сообщении? Я думаю, что это не будет масштабироваться, но я могу ошибаться.

Благодаря

+0

Вы спрашиваете, как это сделать в целом с любой базой данных no-sql, или это специфично для Parse и как вы будете делать это, используя свою службу (например, избегая дополнительного запроса, чтобы получить как счет). –

+0

Желательно знать, как это можно сделать, используя синтаксический анализ. Но я все еще оцениваю, есть ли у него хорошая идея использовать это или нет. Итак, если бы вы могли предложить в целом, это было бы здорово. – user3264361

ответ

0

С точки разбора, я хотел бы использовать afterSave Облако функции для обновления Post В любое время как/комментарий добавлен.

Посмотрите на documentation здесь, в самом простом случае вы просто создаете afterSave для класса Activity, который увеличивает счетчик/комментарий.

В более сложном сценарии, возможно, потребуется обработать обновление и удаление. Например. если кто-то может изменить свое «как» на «не похоже», вам нужно будет посмотреть значение до/после и увеличить/уменьшить счетчик по мере необходимости.

Я являюсь поклонником хранения дополнительных «лишних» данных, и системы no-sql/document-db хорошо работают для этого. Это основано на идее, что записи выполняются нечасто по сравнению с количеством чтений, поэтому выполнение дополнительной работы во время/после того, как запись имеет меньшее влияние, делает приложение более плавным.

+0

hmm интересно ... это определенно помогает. или как насчет сохранения идентификатора пользователя, а также в массиве .., чтобы узнать, понравился ли этот пост текущему пользователю? – user3264361

+0

В случае, когда будет много элементов, вы должны посмотреть на Relation Property, вы выполняете запросы против него, и это позволяет вам поддерживать другие вещи, лучше подходящие для вашей ситуации пользователей, вроде публикации. –

Смежные вопросы