【问题标题】:Using the % operator on path keys throws and error在路径键上使用 % 运算符会引发错误
【发布时间】:2021-07-04 06:27:40
【问题描述】:

In the documentation 用于表示% 符号的 firabase 实时数据库:

用于查找规则表达式中一个变量除以另一个变量的余数。
此写入规则向具有偶数用户 ID 的用户授予写入权限:

"$user_id": {
 ".write": "$user_id % 2 === 0"
}

但是当我尝试使用它时,它会抛出一个错误,说“左操作数不是数字”。

他们简短地谈到了这个in the docs

注意:路径键始终是字符串。因为键总是字符串,尝试将 $ 变量与数字进行比较总是会失败。这可以通过使用 + 运算符将数字转换为字符串来纠正。

但是我想我一定是误解了它,因为我一直收到同样的错误。

我错过了什么?

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-security


    【解决方案1】:

    firebaser 在这里

    我自己试了试,四处询问,看来这里没有办法将密钥转换为数字,这是% 可能需要的。实现此方案的唯一方法是(也)将user_id 包含为 JSON 中的属性值,而不仅仅是键。

    对于文档失灵,我们深表歉意。我已经为此提交了一个错误,并将很快在文档中更新它。

    【讨论】:

    猜你喜欢
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 2013-03-11
    • 2016-03-27
    • 2017-02-22
    • 1970-01-01
    相关资源
    最近更新 更多