Swift查询Firebase以获取特定值的计数

时间:2018-01-09 20:26:33

标签: ios swift firebase firebase-realtime-database

我遇到了一个无法获取特定玩家ID的问题。

根据下面的结构和示例数据,我想在swift中编写一个查询,在那里我可以得到John对特定mapID的坐标计数!?

Firebase结构是:

PlayerPositions
--------------- MapID
-------------------- Coord : "PlayerID"

Firebase中的示例数据是:

PlayerPositions
--------------- 129384
---------------------- 1:1 : "John"
---------------------- 2:3 : "John"
---------------------- 4:1 : "John"
---------------------- 9:8 : "Dan"

我的代码是我期望的以下代码:

countRef.child(129384).queryOrdered(byChild: John).queryEqual(toValue: John).observe(.value, with: { snapshot in 

    print("Count is: ", snapshot.childrenCount)

})

print语句的结果是0,这是不期望的!在我的情况下,我期待3,因为从上面可以看出,我有一个特定地图的总共四(4)个玩家坐标,并且三个(3)这些坐标属于用户“John”。

如果我执行以下操作:

countRef.child(129384).queryOrdered(byChild: John).observe(.value, with: { snapshot in 

    print("Count is: ", snapshot.childrenCount)

})

输出为4这是我所期望的,因为在该mapID下总共有四(4)个条目。

有人可以提供我的指导,告诉我我做错了什么以及如何制作我的查询以获得mapID = 129384 and player = "John"的三(3)个数字!

0 个答案:

没有答案