我目前有一个具有以下数据库结构的应用程序,它使用Firebase数据库并且在Swift IOS上:
"Posts" : {
"Dm8iyaXXdTOJGsymEiLNVO6OdDK2" : {
"post:570915537" : {
"Media" : {
"image" : {
"mediaUrl" : "https://firebaseURL",
"postTimeStamp" : 5.70915539085856E8,
"timeStamp" : 5.7091551482329E8
}, ...
我现在要在其中添加关注者。我当时在想添加一个全新的组:
"Followers" : {
"Dm8iyaXXdTOJGsymEiLNVO6OdDK2" : {
"Following" : {
follower1: "Dm8iyaXXdTOJGsymEiLNVO6OdDK2";
//other followers
}, ...
或将新节点添加到原始组中,然后将其添加到原始组中。最后一个选项是执行与上面类似的操作,但在“用户”部分中。
什么是最佳做法?
答案 0 :(得分:1)
使用Firestore的关注/取消关注架构可能是这样的: 2个根集合,一个包含用户,另一个通过组合键保持用户之间的以下关系。
users/{userID}
.. userData
.. followerCount
.. followedCount
following/{followerID_followedID}
.. followerId
.. followedId
.. createdAt
当用户A开始关注用户B时:
当一个用户停止关注另一个用户时,做相反的事情。
在客户端中,只需检查以下集合中是否存在文档userAuid_userBuid,即可知道userA是否跟随userB。 您还可以通过查询collectionId ==当前用户ID的集合来获取用户关注者的列表。
希望对您有帮助。