Firebase,在数据库级

时间:2017-01-23 13:21:35

标签: firebase firebase-realtime-database

我们正在运行一个包含一些地图的项目。

我们在节点下有这个:

root.maps //object

这是一个地图列表,如果有些是私有的,有些是公开的。哪个在节点下:

root.maps.$mapId.config.isPrivate //boolean
root.maps.$mapId.config.uid //string

现在我们遇到了问题。我们在maps节点上监听更改,但我们只想返回公共节点和用户的私有节点。

所以我们添加了规则,但它似乎不起作用。地图全部显示或全部显示。当我们尝试对地图本身设置限制时,它不起作用。

现在,在互联网上进行了一些搜索后,我们读到为了更好地管理安全规则,私有和公共地图应该被移动到私人或公共节点。

所以喜欢这个

root.maps.private.$mapId.uid
root.maps.public.$mapId.uid

我不敢相信是真的。为了更改此布尔值,我们必须将完整节点从公共节点移动到私有节点。

这真的是这个数据库应该如何工作的吗?这根本不合乎逻辑。

有没有其他方法可以根据规则过滤这些数据(客户端不应该知道地图,客户端过滤不是一个选项)

如果基于改变布尔值移动完整节点的奇怪情况确实如此。

它背后的想法是什么?这不可能是对的吗?

0 个答案:

没有答案