【发布时间】:2017-01-25 11:31:40
【问题描述】:
我在 Firebase 中获得了分数节点:
在 score 节点下,我的数据结构如下:
{
"jjTO29ziQ2SjrH5PFzY7ZMpSgjq1-Kak6FCyGtdy_kcEPd4K" = {
jjTO29ziQ2SjrH5PFzY7ZMpSgjq1 = "-Kak6FCyGtdy_kcEPd4K";
score = 5;
};
"jjTO29ziQ2SjrH5PFzY7ZMpSgjq1-KbE_pgfUsukOm4uW0bx" = {
jjTO29ziQ2SjrH5PFzY7ZMpSgjq1 = "-KbE_pgfUsukOm4uW0bx";
score = 4;
};
问题: 我可以按分数过滤数据吗?
我试过了:
FIRDatabase.database().reference().child("scores").queryOrdered(byChild: "score").observeSingleEvent(of: .value, with: { (snapshot) in
debugPrint(snapshot.value ?? "nil")
})
但不能得到结果?
【问题讨论】:
-
您可以使用 orderByChild 按数据过滤,但我认为您的问题是因为您输入了相应的内部有分数的节点。因为你是在小时候开始输入分数,但首先你需要输入你的每个id。
-
有什么问题?
debugPrint会被调用吗? -
@MagoNicolasPalacios:我的节点设置如图 1 所示?你能推荐一下吗?
-
@FrankvanPuffelen:是的,调用了调试打印,但数据未按分数排序
-
但是你明白我说的吗?您正在输入分数,然后按分数过滤,并且分数没有直接的子节点,名为分数,它有 2 个不同的子节点,其中有一个称为分数的值。
标签: ios swift firebase firebase-realtime-database