如何查询 Firebase 中不存在子项的位置? [复制]
Posted
技术标签:
【中文标题】如何查询 Firebase 中不存在子项的位置? [复制]【英文标题】:How to query where child does not exists in Firebase? [duplicate] 【发布时间】:2017-10-01 04:56:48 【问题描述】:假设我们有简单的数据结构:
"games":
"gameId"
"title": "Chess",
"playedBy" :
"userId" : true,
"userId" : true
只有游戏,每个游戏都有玩过该游戏的用户的数据。现在我想获取指定用户(假设他的 id 是"1234567"
)没有玩的所有游戏。我必须查询"playedBy"
不包含"1234567"
的游戏。
如何使用 Firebase 实现这一目标?
Firebase 工作的每种语言都会受到赞赏。
【问题讨论】:
据我所知,目前 Firebase 中不支持“不等于”运算符。 请查看***.com/questions/37752402/… Firebase 只能查询存在的值。见***.com/questions/28582223/… 【参考方案1】:你可以这样做:
-
遍历所有游戏
检查每个游戏是否包含用户 ID
如果没有,将游戏添加到游戏列表中
mGamesRef.addChildEventListener(new ChildEventListener()
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s)
if(!dataSnapshot.child("playedBy").hasChild(userId))
gamesList.add(dataSnapshot.getValue(Game.class));
...
希望这对你有用。
【讨论】:
如此令人失望的解决方案...以上是关于如何查询 Firebase 中不存在子项的位置? [复制]的主要内容,如果未能解决你的问题,请参考以下文章