我在 Firebase 实时数据库中有以下结构:
myCollection:
- GAKlajGHAHjgghk
- value: "My content"
- users:
- JAHGHJgjfKSJKKJGKJj
- OPouiOHUIUOYHSioJhD
- RJFvkJlkhgJTKghgJGh
- LUhjkHSLKlkdlkd
- value: "My content number 2"
- users:
- JAHGHJgjfKSJKKJGKJj
- OPouiOHUIUOYHSioJhD
我想编写一个函数来监听更改和新值
当 myCollecion
目录中出现一个项目,且其子目录 users
中包含我的用户 UID 时,我应该收到此对象
react 应在以下情况下发生:
- 新项目将与相应的 UID 一起添加到 myCollection
- 当现有项目发生更改时
我的代码:
const myRef = firebase
.database()
.ref('myCollection/')
.child('users')
.orderByKey()
.equalTo(this.state.user.uid);
myRef.on('value', snapshot => { ... });
上面的代码不起作用。我做错了什么?
最佳答案
您需要执行以下操作:
const myRef = firebase
.database()
.ref('myCollection/')
.child('GAKlajGHAHjgghk')
.child('users')
.orderByKey()
.equalTo(this.state.user.uid);
myRef.on('value', snapshot => { ... });
需要从上到下遍历数据库,不能跳过任何一个节点。在您的数据库中您有:
myCollection/ -> GAKlajGHAHjgghk -> users
关于javascript - 监听变化取决于嵌套的UID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59388233/