Firebase如何检查除一个以外的所有子节点的更改?

时间:2019-02-19 17:54:46

标签: javascript firebase firebase-realtime-database

我有一个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节点下,所以我想避免这种情况。不修改数据库树怎么办?

1 个答案:

答案 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