我正在尝试使用firebase数据库规则来防止负值。
{
"rules": {
"products": {
".read": true,
".write": "auth != null",
".indexOn": ["subgroup", "group", "visibility"],
".validate": "newData.child('quantity').val() >= 0"
}
}
但是,使用模拟器测试规则,我总是在验证规则上看到写入被拒绝:
".validate": "newData.child('quantity').val() >= 0"
我正在使用:
location: /products/-KQ1qLkeI3gefuGSFIL_
和
{
"quantity": 0
}
我正在使用经过身份验证的用户。
有什么想法在这里发生?
感谢。
==== 更新:
将规则更改为以下内容并没有帮助:
"products": {
"$product": {
".read": true,
".write": "auth != null",
".validate": "newData.child('quantity').val() >= 0",
".indexOn": ["subgroup", "group", "visibility"]
}
},
此外,数据库设计:
DBRoot
products
-KQ1nPkLeqiTMzEzhrfW
description:"Limited Edition"
quantity: 5
...