【发布时间】:2018-01-25 13:52:01
【问题描述】:
我正在尝试在 firebase 控制台上实施一些 firebase 安全规则。基本上,我有一个收据项目,它由收据 ID 和项目 ID 组成。我正在尝试实施一个规则来检查两个 ID 在插入之前是否存在。
我的收据表结构:
receipts {
accountID {
receiptID {}
}
}
项目的表结构:
items {
itemID {}
}
收货项目的表结构:
receiptItems {
receiptItemID {
itemID, receiptID
}
}
到目前为止我所取得的成就:
"receiptItems": {
"$receiptItemID" : {
"$receiptID" : {
".validate": "root.child('receipts/' + $receiptID).exists()"
},
"$itemID" : {
".validate": "root.child('items/' + $itemID).exists()"
}
}
}
但是,这会导致错误消息指出不能有多个默认规则。我怎样才能做到这一点?
谢谢!
【问题讨论】:
-
是的,这些规则确实无效:不清楚它应该对哪个孩子应用什么验证。但我不确定我是否理解您要验证的 JSON。您能否编辑您的问题以确保前三个 JSON sn-ps 是您希望在数据库中拥有的有效 JSON?
-
@FrankvanPuffelen 例如,我想在添加之前检查要插入到receiptItems 表中的receiptID 和itemID 是否分别存在于receipt 和item 表下。收据 ID 的结构是收据 -> 帐户 ID -> 收据 ID。这些 ID 是唯一的推送 ID。我试图通过删除不相关的细节来简化结构,以便于阅读
-
您能否编辑您的问题以确保前三个 JSON sn-ps 是您希望在数据库中拥有的有效 JSON?
标签: firebase firebase-realtime-database firebase-security nosql