我正在尝试创建群聊。
**如何在用户ID有效的某个组节点下存储这些用户ID之前先检查?**
如果有其他方法我可以使用请告知。
答案 0 :(得分:1)
假设您有/ users节点,每个用户将在其uid下的节点中列出:
users
uid_0
name: Henry Winkler
email: henry@thefonz.com
A / users节点是Firebase中的典型设计模式,通常会在创建Firebase帐户的同时添加用户子节点。您可以存储有关用户的任何内容,以便一站式购买用户数据。
答案 1 :(得分:1)
就像@Jay提到的那样,你需要一个如下结构:
users
$uid
...
如果没有这样的结构,我还没有找到解决这个问题的方法,所以我必须为此创建一个。我使用onCreate
Firebase function处理了这样的创建,我只为每个新用户设置了一些虚拟数据("active": true
)。
有了这种结构,您现在可以在.read
/ .write
/ .validate
规则中检查它:
"groups": {
"$group": {
"members": {
"$uid": {
".validate": "root.child('users/' + $uid).exists()"
}
}
}
}
请注意,我还没有确认确切的代码......