如何跟踪扇出路径?
我不确定是否应将其称为relationship
。反正...
我将采用以下结构作为示例。假设我们有某种形式的社交应用。每个用户都会添加他们的朋友并给出昵称。
"friends": {
"user2": {
"user1": {
"nickname": "wife",
"uid": "user1"
}
},
"user3": {
"user1": {
"nickname": "bff",
"uid": "user1"
}
}
}
"users": {
"user1": {
"name": "Rubia Castangia",
"gender": "Female",
"age": 22
},
"user2": {
"name": "Roxy Brightling",
"gender": "Male",
"age": 23
},
"user3":{
"name": "Carole Delgardillo",
"gender": "Female",
"age": 35
}
}
我们说我们添加时间线&关注者具有以下结构的应用程序功能
"timeline": {
"user2": {
"post1234": {
"text": "Feeling bored",
"author_nick": "wife",
"uid": "user1"
}
},
"user3": {
"post1235": {
"text": "Feeling bored",
"author_nickname": "bff",
"uid": "user1"
}
}
},
"followers": {
"user1": {
"user2": true,
"user3": true
}
}
所以在那之后我们添加了另一个功能....然后它继续
所以关系是
例如,/timeline/userId/postId/author_nick
更新此user2
的{{1}}时,必须更新nickname
:friendId
随着应用程序变得越来越复杂,我倾向于忘记我必须扇出哪些路径。您是否有人使用特定工具来跟踪扇出路径之间的关系?
答案 0 :(得分:1)
不需要任何工具 - 只需根据您的需要对数据库结构进行建模,并保持非规范化和尽可能平坦。
这样的事情怎么样:
users
user1
*user_data*
user2
*user_data*
following
user1: true
user3
*user_data*
nicknames
user2
user1: wife
user4: friendo
user3
user1: bff
posts
user1
post1
text: "bla"
大致这是你可以做的:
够简单吗?