MongoDB Tinder数据库方案

时间:2018-08-30 00:27:25

标签: mongodb database-schema

我已经看到有关此主题的多个问题,但我想问自己一个问题。 我对Tinder的工作方式感兴趣,并正在尝试创建类似的东西。我认为这是在滑动过程中会发生的情况:

需要跟踪每次刷卡

  1. 不显示同一用户
  2. 比赛

向左滑动

  1. 将userId存储在swipedArray

向右滑动

  1. 将用户ID存储在swipedArray

  2. 检查是否存在Match。如果存在,请将Match pending设置为false。否则,创建一个新的Match,其待定= true。

在半径范围内吸引用户

  1. 查询swipedArray中未包含的半径内的n个用户

或者另一种方式是将向右滑动和向左滑动存储在两个不同的数组中。右滑动,检查您的ID是否在该人的右滑动中。如果是这样,请创建一个Match

User类中,我将存储swipedArray。这是一个好的方法吗? Tinder获得a collective 1.7 billion swipes per day,我的最初想法是要拥有一个Swipe类来存储所有向左滑动和向右滑动,但是我认为扩展性不好(首先必须找到用户滑动而不是查询半径内的用户(未包含在这些滑动中)。将所有用户存储在阵列中是否是一个好的解决方案?如果没有,那将是一个好的解决方案吗?您认为扩展的最佳解决方案是什么?

0 个答案:

没有答案