如何在Firebase中构造数据
how to structure data in Firebase?
我来自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"
}
}
}
}
}
}
如何构建数据不是一个简单的问题,它在很大程度上取决于如何读取数据。一般的规则是努力写作,使阅读变得容易。Firebase提供了两个关于理解数据和构建数据的指南。
它们不太适合这个文本框,所以你会在那里找到更好的答案。这是鸟瞰图。
- 它是JSON数据
- 扁平化您的数据。不要因为可以就去筑巢。像对待SQL一样对待每个逻辑数据组件,并将其保留在自己的路径中
- 避免在分布式系统中使用阵列。顺序数字ID容易出错
- 利用索引创建主数据的子列表,而不是试图在列表中的列表中嵌套列表
相关文章:
- 无法将数据从firebase获取到我的html页面
- 如何将firebase数据传递到函数中
- 如何在iOS应用程序中从Firebase中删除超过6小时的数据
- 在firebase(web)上存储数据时出现问题
- Firebase-返回用户uid并将用户元数据值设置为不同的节点
- 可以't发送和接收来自firebase的数据
- 使用AngularJS在Firebase中显示关系数据
- Firebase-推送数据
- Firebase-结构数据
- Firebase:如何从存在特定密钥的数据中检索记录
- Firebase-正在从推送项目中检索数据
- 如何在应用中管理到 Firebase 数据的动态路径
- 移除 Firebase 数据中对child_added的引用
- Firebase 数据结构理念
- Firebase 数据未正确更新
- 如何根据另一个节点中的数据对 Firebase 阵列进行排序
- 在不更改大量代码的情况下重新构造Firebase JSON数据
- 如何使用javascript在html中将firebase数据显示为列表
- 如何使用JavaScript将用户生成的数据保存到Firebase中的用户
- Firebase赢得't更新数据