Firebase规则不使用代码

时间:2017-02-10 18:57:02

标签: firebase firebase-realtime-database

虽然模拟器显示它们已就位,但我无法使Firebase数据库中的安全规则正常工作。

一个简单的例子:

{
  "rules": {
    "items":{
      "$itemid":{
        ".read":true,
          ".write":"newData.child('id').isNumber()"
      }
    }
  }
}

对于上述规则,当我尝试在模拟器中发布带有文本值的项目时,会在' id'它会按预期给出正确的错误。 对于网址:/items/-sdsd123 对于数据:{"id":"MAC1", "name":"Macbook Pro"} 它在模拟器中给出了写入被拒绝的错误作为' id'不是数字。

然而,在发布规则并尝试从代码或浏览器数据编辑器后,它允许id为文本值。以下是:

var key = db.ref("/items").push().key;
db.ref('/items/' + key).set({"id":"MAC1", "name":"Macbook Pro"}); 

我遗漏了一些基本的但却无法解决的问题,请帮助。

0 个答案:

没有答案