Firebase规则:什么是.contains()?

时间:2017-07-27 21:22:13

标签: firebase firebase-realtime-database firebase-security

我已阅读Firebase Documentation并且不明白什么是.contains()

以下是文档中Firebase数据库的示例规则:

{
  "rules": {
    "rooms": {
      "$room_id": {
        "topic": {
          // the room's topic can be changed if the room id has "public" in it
          ".write": "$room_id.contains('public')"
        }
      }
    }
  }
}

我可以知道这是$room_id.contains('public')是什么吗?

它是指$room_id的孩子吗?

1 个答案:

答案 0 :(得分:2)

$room_id是匹配的通配符键名称,显示为" topic"的父级。该规则仅在该键名包含字符串" public"在它的任何地方。

因此,如果有人试图将/rooms/public_roomid/topic的值更改为某个值,则允许这样做。但是,/rooms/roomid/topic的写入将被拒绝。