我有一个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节点下,所以我想避免这种情况。不修改数据库树怎么办?
答案 0 :(得分:0)
按照Firebase文档的建议,您应避免使用此数据结构。您最好创建另一个节点来存储用户历史记录,并通过其uid引用用户:
/users
-uid
-34523623452
c: array
n: string
-23452345435
-77453534535
/history
-id
uid
...
此处有更多信息:https://firebase.google.com/docs/database/web/structure-data