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

Uma*_*aii 5 firebase firebase-security firebase-realtime-database

我已经阅读了Firebase文档,但不了解是什么.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')"
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

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

是指的孩子$room_id吗?

Dou*_*son 4

$room_id是显示为“topic”父级的匹配通配符键名称。该规则仅当该键名称中的任何位置包含字符串“public”时才允许写入。

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

  • 我什至不知道我们支持 `contains()`。:-) (8认同)