You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase实时数据库写入规则求助:首次写入与更新逻辑配置

Firebase Realtime Database 写入规则配置方案

直接上修正后的规则代码:

{
  "rules": {
    ".read": true,
    "Users": {
      "3X3": {
        "$userID": {
          ".write": "!data.exists() || (data.child('time').val() > newData.child('time').val())"
        }
      }
    }
  }
}

规则逻辑说明

  • !data.exists():匹配用户节点不存在的场景,也就是首次写入,此时直接允许写入,不管提交的time值是什么
  • data.child('time').val() > newData.child('time').val():用户节点已存在时,仅当新提交的time值小于当前存储的time值,才允许覆盖写入

之前添加!data.exists()未生效的原因

大概率是你没把它和原有条件用**逻辑或(||)**组合起来,单独写的话会和原有判断冲突,导致首次写入的规则不生效。现在用||连接两个条件,就能同时满足两种场景的需求。

内容的提问来源于stack exchange,提问作者ypanos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 10:15:33