我有一个具有以下DB结构的应用
"Posts" : {
"Dm8iyaXXdTOJGsymEiLNVO6OdDK2" : {
"post:570915537" : {
"Media" : {
"image" : {
"mediaUrl" : "https://firebaseURL",
"postTimeStamp" : 5.70915539085856E8,
"timeStamp" : 5.7091551482329E8
}, ...
我现在要添加关注者。我在想我要么添加一个全新的小组:
"Followers" : {
"Dm8iyaXXdTOJGsymEiLNVO6OdDK2" : {
"Following" : {
follower1: "Dm8iyaXXdTOJGsymEiLNVO6OdDK2";
//other followers
}, ...
或在原始组中添加新节点并将其添加到其中。最后一个选择是做类似于上述操作的操作,但在"用户"部分中。
什么是最好的行动?
使用firestore的关注/未关注模式可能是:2个根集,一个持有用户的根集,另一个可以通过复合键在用户之间保存以下关系。
users/{userID}
.. userData
.. followerCount
.. followedCount
following/{followerID_followedID}
.. followerId
.. followedId
.. createdAt
当Usera开始关注用户b时:
- 在ID中设置一个新文档以下内容集合。
- 触发云功能,该功能将运行交易以更新两个用户的计数器。
当用户停止关注另一个用户时,请执行反向操作。
在客户端中,您可以知道usera是否仅通过检查文档userauid_userbuid是否存在于之后的集合中。您还可以通过查询collectID ==当前用户ID的集合来获取用户关注者的列表。
希望对您有帮助。