這裏是我的數據結構:火力地堡安全 - 如何停止覆蓋
{
"items" : {
"item0" : {
"uniqueID" : 5,
"uniqueID" : 31,
"uniqueID" : 88
},
"item1" : {
"uniqueID" : 22,
"uniqueID" : 3
}
}
}
我想爲用戶能夠:
1 - 創建一個新的項目
2創建一個新的uniqueID(項目中的條目)
我想停止用戶:
3,刪除任何
4創造比上述
這裏是我的不正確的嘗試中提到的其他任何東西:
{
"rules": {
".read": true,
".write": false,
"items": {
".write": "!data.exists()"
}
}
}
我相信".write": false
應該完成的任務3和4,和".write": "!data.exists()"
應做到任務1和2,但此解決方案停止將任何數據寫入分區
寫入操作應該失敗:
var killItem0 = {};
killItem0['item0'] = 'all item 0 entries are now replaced by this text';
REF.child('items/').update(killItem0); //this replaces all data held by item0
你能證明獲得成功的寫操作,但應避免? –
已更新!,請看原始問題 – David
您當前的寫入規則適用於整個項目節點,因此如果有任何數據已經存在,您現在就無法執行任何操作。你想要的是更深入,並有唯一的ID的規則。 –