【发布时间】:2019-11-28 23:14:53
【问题描述】:
我有以下结构:
{
"users" : {
"123" : {
"activities" : {
"horse" : "horse",
"bike" : "bike"
},
"age" : 21
},
"124" : {
"activities" : {
"bike" : "bike"
},
"age" : 30
}
}
我正在尝试做类似的事情:
SELECT * FROM users WHERE (activities = 'horse' OR activities = 'bike') AND age >= 21
我可以请你指点一下吗?如果我的数据结构不正确,我还能在那里获得一些提示吗?
编辑:jsfiddle
【问题讨论】:
-
Firebase 查询只能对单个属性进行排序/过滤。在某些情况下,您可能能够将您的条件组合到一个属性中,但这在这里似乎是不可能的。见stackoverflow.com/questions/26700924/… 和stackoverflow.com/questions/28034092/or-queries-in-firebase/…
-
@FrankvanPuffelen 我查看了您发送的链接,但由于某种原因,我无法使用该代码逻辑。虽然我理解这个想法。 api同时发生了变化或其他什么,但我无法让我的结果正确过滤
-
随意分享您的代码,最好将其编辑放入您的问题中。一个 jsfiddle 会更好。
-
@FrankvanPuffelen 看我的例子。现在它返回所有。我试过
.startAt('letsGame').endAt('letsGame')和equalTo('letsGame')但没有结果 -
您只能查询一级深度的属性。见stackoverflow.com/questions/29014556/…
标签: javascript firebase firebase-realtime-database