Javascript 接受Firestore中的好友请求功能?

Javascript 接受Firestore中的好友请求功能?,javascript,firebase,react-native,google-cloud-firestore,Javascript,Firebase,React Native,Google Cloud Firestore,我正在尝试让好友请求功能正常工作,我已经完成了发送和接收请求部分,但我一直在思考如何在用户接受好友请求时更新特定用户的好友数据收集 我希望这种情况发生: Friends (collection) userID (document) list of friends (their uid's) . . . . 如果用户接受一个新的请求,那么好友列表将附加一个新的uid 以下是我的数据库的屏幕截

我正在尝试让好友请求功能正常工作,我已经完成了发送和接收请求部分,但我一直在思考如何在用户接受好友请求时更新特定用户的好友数据收集

我希望这种情况发生:

Friends (collection)
    userID (document) 
        list of friends (their uid's)
        .
        .    
        .    
        .
如果用户接受一个新的请求,那么好友列表将附加一个新的uid

以下是我的数据库的屏幕截图:

您需要首先关注如何构建数据结构。如果您想保留“Friends”集合以存储有关用户友谊的信息,则需要首先确定您将对该集合发出何种查询。 您主要需要: 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
您还需要更新朋友的“友谊”,只需反转该键即可