【问题标题】:Accepting Friend Requests functionality in Firestore?在 Firestore 中接受好友请求功能?
【发布时间】:2020-02-28 21:09:01
【问题描述】:

我正在尝试使好友请求功能正常工作,我已经完成了发送和接收请求部分,但是当用户接受好友请求时,我不知道如何更新特定用户的好友数据集合。

我希望这发生:

Friends (collection)
    userID (document) 
        list of friends (their uid's)
        .
        .    
        .    
        .

如果用户接受新请求,朋友列表会附加一个新的 uid。

这是我的数据库的屏幕截图:

【问题讨论】:

    标签: javascript firebase react-native google-cloud-firestore


    【解决方案1】:

    您需要首先关注如何构建数据。如果您想保留“朋友”集合来存储有关用户友谊的信息,您需要首先弄清楚您将对该集合发出什么样的查询。 首先,您将需要: 1. 用户 A 和用户 B 是朋友吗,反之亦然。 2. A 为好友的所有用户列表。

    您当前的结构解决了这两种情况,但请尝试看看您是否可以针对其他用例改进/优化它。我会把它留给你,但会给你一个提示。您正在通过表格建模“有很多”关系,一种有效的方法是存储“友谊”信息(user1,user2)

    从这里开始回答原始问题 您需要在 Friends 集合中为给定的键添加一个新的键/值对。

    let newRelation = {};
    newRelation[friendUID] = {date: new Date().getTime()} // store whatever info you need to store here.
    firestore.collection("friends").doc(uid).update(newRelation) // Udpdate the user document to add friendship
    

    您还需要更新朋友的“友谊”,只需反转密钥即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多