我想问这个问题。问题是如何从firebase获得特定的数据范围?
我在firebase上有这样的表:
"users" : {
"Jz3IpatRWiWoDbiYM62q6qbHB503" : {
"email" : "Kaanozdemir@gmail.com",
"lastName" : "Ozdemir",
"name" : "Kaan"
},
"PmeYYFiac0c55fU2sFpnTP308mC3" : {
"email" : "kevinhart@gmail.com",
"lastName" : "Hart",
"name" : "Kevin"
},
"r0bMqSGCWihFi2EF4u6ckSzLP8v1" : {
"email" : "Marcusalvarez@gmail.com",
"lastName" : "Alvarez",
"name" : "Marcus"
},
"A3tmSSGCWihFi2EF4u6ckSzLP8c1" : {
"email" : "taylorswift@gmail.com",
"lastName" : "Swift",
"name" : "Taylor"
},
"3SUTsiGCWihFi2EF4u6ckSzLP8v2" : {
"email" : "jimmyfellon@gmail.com",
"lastName" : "Fellon",
"name" : "Jimmy"
},
"lgSit3GCWihFi2EF4u6ckSzLP8u3" : {
"email" : "jaxteller@gmail.com",
"lastName" : "Teller",
"name" : "Jax"
}
例如,我想让用户的价值在2到4之间[2 - 4](Marcus Alvarez - Taylor Swift - Jimmy Fellon)。
有没有办法做那个服务器端?我不想获得所有数据并选择我想要的值。有人知道吗?
答案 0 :(得分:0)
更改您的JSON数据库结构以在每个节点中包含索引:
"users" : {
"autoID1" : {
"email" :.....,
"lastName" : ......,
"name" :.......,
"index" : //e.g.. 1,2,3,4......
}
},
"noOfUsers" : 223,
如果您通过应用程序追加此用户节点,您也可以跟踪数据库节点users
中的用户数,并在添加新用户时不断更新noOfUsers
。并设置下一个索引号,只需检索该节点值,即223并查看它然后递增noOfUsers
......
要检索2-4 ..现在您可以使用:
Database.database().reference().child("users").queryOrdered(byChild: "index").queryStarting(atValue: "2").queryEnding(atValue: "4").observe....