2016-09-14 8 views
0

從火力地堡數據庫中的數據這是我有:問題與刪除,由於驗證規則

"products": { 
     "$pid": { 
      ".read": true, 
      ".write": "auth != null && (newData.child('quantity').val() > 0)", 
      ".indexOn": ["subgroup", "group", "visibility"] 
     }, 
     ".read": true 

現在,如果我嘗試刪除,我打的異常。

firebase.js:281火力警告:在設置/產品/ -KRdvStz-6EQ6OUJJcld失敗:PERMISSION_DENIED

我真的需要驗證規則有量> = 0。但我還需要能夠刪除。

任何想法在這裏需要做什麼?

回答

1

驗證數據結構,你應該使用一個.validate規則:

"products": { 
    "$pid": { 
     ".read": true, 
     ".write": "auth != null", 
     ".validate": "newData.child('quantity').val() > 0", 
     ".indexOn": ["subgroup", "group", "visibility"] 
    }, 
    ".read": true 

驗證規則不被觸發的數據刪除,特別是讓他們可以很容易地用於此。

如果你堅持使用寫入規則來驗證,你也可以這樣做:

".write": "auth != null && (!newData.exists() || newData.child('quantity').val() > 0)",