我已阅读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
的孩子吗?
答案 0 :(得分:2)
$room_id
是匹配的通配符键名称,显示为" topic"的父级。该规则仅在该键名包含字符串" public"在它的任何地方。
因此,如果有人试图将/rooms/public_roomid/topic
的值更改为某个值,则允许这样做。但是,/rooms/roomid/topic
的写入将被拒绝。