Схема базы данных MongoDB Tinder - PullRequest
       4

Схема базы данных MongoDB Tinder

0 голосов
/ 30 августа 2018

Я уже видел несколько вопросов по этой теме, но я бы хотел задать свой. Меня интересует, как работает Tinder, и я пытаюсь создать нечто подобное. Вот что я думаю, что произойдет во время прокрутки:

Необходимо отслеживать каждый удар до

  1. Не отображать того же пользователя
  2. Матчи

При движении влево

  1. Хранить идентификатор пользователя в swipedArray

На правом пролистывании

  1. Хранить идентификатор пользователя в swipedArray

  2. Проверьте, существует ли Match. Если существует, установите Match pending в false. В противном случае создайте новый Match с pending = true.

Чтобы получить пользователей в радиусе

  1. Запрос n пользователей в радиусе, не указанном в swipedArray

Или другим способом может быть сохранение правых и левых в двух разных массивах. Проведя правой кнопкой мыши, проверьте, есть ли у вас удостоверение личности. Если это так, создайте Match.

В классе User я бы сохранил swipedArray. Будет ли это хороший способ начать. Tinder получает коллективных 1,7 млрд. Ударов в день , и моя первоначальная идея заключалась в том, чтобы иметь класс Swipe для хранения всех левых и правых ударов, но я не думаю, что это будет хорошо масштабироваться (сначала нужно найти пользователь проводит пальцами, чем запрос пользователей в радиусе, который не содержится в этих данных). Является ли хранение всех пользовательских свипов в массиве хорошим решением? Если нет, то будет ли хорошим решением начать? И что, по вашему мнению, является лучшим решением для масштабирования?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...