2017-07-27 113 views
0

我已閱讀並通過Firebase Documentation,並不明白什麼是.contains()Firebase規則:什麼是.contains()?

下面是火力地堡數據庫樣本規則的文檔中:

{ 
    "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的孩子?

+2

在[參考文檔](https://firebase.google.com/docs/reference/security/database/#containssubstring)中有解釋。 –

+0

謝謝!供參考。它幫助了很多。 – UmarZaii

回答

3

$room_id是顯示爲「主題」的父項的匹配通配符鍵名稱。該規則只允許在該密鑰名稱中包含字符串「public」的地方寫入。

因此,如果有人試圖將/rooms/public_roomid/topic的值更改爲某個值,那將是允許的。但是,寫入/rooms/roomid/topic將被拒絕。

+0

謝謝。我現在明白了。 – UmarZaii

+2

我甚至不知道我們支持'contains()'。 :-) –

+0

你讓我的一天弗蘭克:D – Barackos