我想要获取包含键入文本的快照。例如,节点看起来像这样
"Team": {
"Yankees": {
"uid1": "name",
"uid2": "name"
},
"Angels": {
"uid1": "name"
"uid3": "name"
}
如果用户在搜索栏中键入yan
,那么我想要获取" Yankees"快照。我看到了一些文件和堆叠在流动的帖子,并尝试了这样
ref.child("Team").queryStarting(atValue: "yan").queryEnding(atValue: "yan\u{f8ff}").observe
但它不起作用。我怎样才能做到这一点?谢谢!
答案 0 :(得分:0)
您需要将数据库更改为:
"Team": {
"randomid": {
"team":"Yankees",
"uid1": "name",
"uid2": "name"
},
"randomid": {
"team":"Angels"
"uid1": "name"
"uid3": "name"
}
现在你可以这样做:
ref.child("Team").queryOrdered(byChild: "team").queryStarting(atValue: "Yan").queryEnding(atValue: "Yan\u{f8ff}").observe
首先在上面的查询中,您需要使用queryOrdered()
来了解您要订购哪个孩子。
同样在您的数据库中,节点Team
不等于任何东西,它是具有子节点的父节点。
所以要解决这个问题,节点Team
需要等于一个值(就像在这个答案中的数据库中一样),这样你就可以对它进行排序并在其上使用queryStarting和queryEnding。