【发布时间】:2020-12-19 13:26:47
【问题描述】:
对 Firebase 来说很新,我在查询/过滤所需请求的逻辑上遇到了一些问题。
我的用户存储在 /users 中,他们有一个项目列表,例如:
users : {
userA : {
projects: {
projectId1: true,
projectId2: true
},
...
}
...
}
显然我有这样的项目:
projects: {
projectId1: {
name: "bla"
}
...
}
我希望用户根据 ID 查询其项目列表中的所有项目。 现在我只能在客户端成功查询数据库的每个项目及其过滤器,但显然这有一些严重的安全隐患和加载时间,而且我不希望任何人查询所有项目并获取它们。我可以添加安全规则,但我无法访问任何内容,因为我无法再查询 /projects/ 但需要具体说明。
我正在使用https://github.com/CSFrequency/react-firebase-hooks/tree/master/database
并获得这样的数据:
const [projects, loading, error] = useListVals(firebase.db.ref("projects"), {
keyField: "uid",
});
因此希望能够在此请求中添加一个投影数组,例如 where({ id is included in [projectsId]})
【问题讨论】:
-
嗨@FrankvanPuffelen 感谢您的回答,这很有用。但是老实说,我们正在远离 Firebase,因为我们无法对数据库进行足够的控制,也无法在数据中实施适当的规则和连接。我想这是我们方面缺乏培训/知识,但我不得不承认使用 firebase 对我们来说并不是最流畅的体验:(
-
很抱歉听到这个消息,感谢您让我知道 Ivo。如果我可以问:您正在采用什么解决方案?
-
更经典的 MERN 堆栈(实际上使用了流星,所以不是完全的 MERN,而是流星/反应/蒙戈)
标签: reactjs firebase firebase-realtime-database filter react-hooks