匹配用户的Firestore数据库模型

时间:2018-11-14 21:24:50

标签: firebase nosql flutter google-cloud-firestore google-cloud-functions

我正在开发一种移动应用程序,以帮助人们与DIY专家建立联系。

该应用程序会将需要建议的人与专家联系起来,然后让他们以1:1消息聊天。例如,人A需要有关水暖的建议,因此应用程序将他连接到人B,后者知道如何进行水暖。

我的数据库模型是使用Firestore存储用户详细信息和FCM令牌。云功能可将通知发送到所有专家FCM令牌(在非专家需要帮助时通知它们)。

到目前为止,这是我的模型:

  1. Firestore:存储2个组的用户:非专家和专家。
  2. 当应用中的非专家点按“我需要帮助!”时,请将数据库“需要帮助”中的非专家字段标记为true。
  3. Firebase Cloud功能侦听更改,并将FCM发送到数据库中的所有专家FCM令牌。
  4. ??当应用程序中的一位专家点击“我可以帮助!”时,在db中创建新的聊天文档??
  5. Firestore:创建新的消息文档,存储消息等。

我的问题是第4步:当专家在客户端应用中点击“我可以帮助”时,如何在新的1:1聊天中匹配和连接专家和非专家。在点击时,专家客户端应用程序是否应在Firestore中的文档中设置新值?什么文件?什么样的数据库模型?

类似的应用正在约会应用,例如火种。有趣的问题:Tinder Firestore是什么样的? :)

1 个答案:

答案 0 :(得分:0)

创建像这样的聊天室:chatroom1、chatroom2、chatroom 3 .....

如果用户想加入 chatroom1 应该是空的,这样他就会加入这个。

第二个用户想加入并在聊天室 1 中找到了 1 个用户,所以他加入了聊天室,他们开始聊天

第三个用户来了,发现聊天室 1 已满(里面有 2 个人),所以他加入聊天室 2 并等待其他人加入,然后这种模式继续...... ..