javascript - Firebase 如何检查除一个之外的所有子节点的更改?
问题描述
我有一个像这样的 Firebase 实时数据库结构:
/users
-uid
-34523623452
c: array
n: string
-23452345435
-77453534535
history
h: array
-uid
-uid
-uid
我正在使用此代码检查当前用户内容的更改:
ref.child(uid).on('value', function(snapshot){
if (snapshot.val() !== null) {
// do stuff
这种方式虽然它也会在节点发生任何更改时启动history
,因为它也在 UID 节点下,我想避免这种情况。不修改数据库树怎么办?
解决方案
按照 Firebase 文档的建议,您应该避免使用这种数据结构。您最好创建另一个节点来存储用户历史记录并通过其 uid 引用用户:
/users
-uid
-34523623452
c: array
n: string
-23452345435
-77453534535
/history
-id
uid
...
更多信息在这里:https ://firebase.google.com/docs/database/web/structure-data
推荐阅读
- javascript - 带有来自 geojson 的动态内容的 bindPopup
- jquery - 如何在 JQuery 中读取我复杂的 JSON Stringify 数据?
- jquery - ASP.net MVC Core Razor 页面和 Ajax JQuery
- c# - 根据文化更改 WPF 中的货币符号/日期时间格式
- c - sh 的原因:系统()命令未找到 1 个文件错误?在 StackOverflow 中尝试了可能的解决方案(如下所列)但失败了
- java - 当我尝试关闭 MySQL 连接时出错
- kubernetes - Cluster Autoscaler 不使用 nodeSelector 扩展
- jquery - jQuery 通过多个键过滤数据数组
- python - 如何使用 MySQL 使用经度和纬度列找到行之间的距离?
- c# - 返回菜单选择的功能;项目的切换语句