我来自MySQL工作流程,现在我正在尝试在Firebase中做一些事情,并且我在构建数据时遇到了一些困境,因为我不知道如何查询它。
在下面的示例中,我有一些users
和一些comments
,这是一个很好的查找方式
how many post likes a user had
how many post comments a user had
what were the posts that a user liked
...
我正考虑将这些信息添加到用户,例如:
"user:2": {
"name": "Doe",
"email": "doe@bob.com",
"post_likes": {
"post:1": 1,
"post:2": 1
},
"post_comments": {
"post:1": 15,
"post:2": 5
}
}
但这似乎是多余的并且重复数据..
我需要找到一种方法来搜索posts
与user:1
有关的所有内容,也许我需要创建另一个连接users
和posts
的对象??
任何想法?
{
"array": {
"users": {
"user:1": {
"name": "John",
"email": "john@bob.com"
},
"user:2": {
"name": "Doe",
"email": "doe@bob.com"
}
},
"posts": {
"post:1": {
"name": "First Post",
"content": "some post content",
"comments": {}
},
"post:2": {
"name": "Second Post",
"content": "some other post content",
"likes": 2,
"comments": {
"comment:1": {
"uid": "user:1",
"email": "some comment"
},
"comment:2": {
"uid": "user:2",
"email": "some other comment"
}
}
}
}
}
}
答案 0 :(得分:2)
如何构建数据不是一个简单的问题,而是高度依赖于数据的读取方式。一般规则是努力写入以使读取变得容易。 Firebase在understanding data和structuring data上提供了两个指南。
它们不适合这个文本框,所以你会在那里找到更好的答案。这是一个鸟瞰图。