我正在尝试使用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,该属性应该给我删除该记录的权限?
或者可能是因为Game对象有一个名为registrations的属性,它是用户is及其信息的映射,而我没有更新registrations属性的权限?
发布于 2017-04-28 12:34:30
我是第一次接触火场螺栓。我建议您使用以下语法。
delete() { auth != null && auth.uid == prior(this).ownerId }https://stackoverflow.com/questions/42349604
复制相似问题