Firebase实时数据库安全规则获取子名称

Firebase实时数据库安全规则获取子名称,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,有没有办法让我知道孩子的名字?结构是这样的: appointment- |- "here_is_some_date"- |-"some_user_id"- |-details about it 我需要为谁可以阅读“约会”定义一个规则,但我不确定如何获取日期的名称,以便我可以获取UID。这就是我尝试过的: "ap

有没有办法让我知道孩子的名字?结构是这样的:

appointment-
           |- "here_is_some_date"-
                                 |-"some_user_id"-
                                                 |-details about it
我需要为谁可以阅读“约会”定义一个规则,但我不确定如何获取日期的名称,以便我可以获取UID。这就是我尝试过的:

"appointments": {
        ".read": "data.child(data.val()).child(auth.uid).val() === auth.uid"
      }

在Firebase安全规则中读取子节点值的唯一方法是知道从当前节点(定义规则的位置)到子节点的确切路径

因此,如果您同时知道日期和UID(您肯定知道),则可以使用以下命令读取子节点的值:

"appointments": {
  ".read": "data.child('here_is_some_date').child('some_user_id').val() === auth.uid"
}
但在这条路径中没有通配符。很难说您正试图实现什么用例,但如果它“允许用户读取他们有约会的约会日期”,则需要一个额外的反向数据结构:

"user_appointment_dates": {
  "uid1": {
    "date1": true // or a more complete structure with the actual appointments
  }
}