javascript - Firebase删除、bolt权限配置

标签 javascript firebase firebase-realtime-database firebase-security

我正在尝试使用 firebase.remove() 从 firebase 中删除一条记录,如下所示:

// inside deleteGame function
const promiseDeleteGame = firebase.child(`games/${game.id}`).remove();
return Observable.from(promise)
  .mapTo(deleteGameDone(game))
  .catch(error => Observable.of(deleteGameFailure(error)));

我的rules.bolt文件配置如下:

isOwner(gameId) { auth.uid == root.games[gameId].ownerId }

path games/{gameId} is Game { 
  read() { true }
  create() { true }
  update() { true }
  delete() { isOwner(gameId) }
}

我总是收到错误:在/games/{gameId} 设置失败:permission_denied。

问题是我无法删除记录,因为我尝试删除的给定记录包含属性 ownerId,该属性应该授予我删除该记录的权限?

或者可能是因为 Game 对象有一个名为 registrations 的属性,它是 userId 及其信息的映射,而我无权更新 注册 属性?

最佳答案

我是 firebase Bolt 的新手。 我建议您使用以下语法。

delete() { auth != null && auth.uid == prior(this).ownerId }

关于javascript - Firebase删除、bolt权限配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42349604/

相关文章:

javascript - 选项卡 "shown"事件未触发 - Twitter Bootstrap

ios - 用于 firebase 聊天的 NoSQL 数据库设计

swift - 登录后存储 CurrentUser 的最佳实践

java - Java/Android 自动命名对象

javascript - 如何通过 JavaScript 将 XML 发布到 REST API?

Javascript jQuery 在打开页面时隐藏字段

javascript - Vuetify 在鼠标悬停时切换数组列表中的数据对象

ios - Firebase 在登录时验证电子邮件

java - 从 firebase 数据库显示到 FirebaseRecyclerAdapter 时出错

firebase - 有没有办法让 firebase 实时数据库存在系统更快地检测到断开连接