Firebase删除,螺栓权限配置

时间:2017-02-20 16:27:03

标签: 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) }
}

我总是收到错误:set at /games/{gameId} failed: permission_denied.

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

或许是因为Game对象有一个名为registrations的属性,它是userId的地图及其信息,我没有权限更新{{1属性?

1 个答案:

答案 0 :(得分:1)

我是firebase bolt的新手。 我建议你使用以下语法。

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