【发布时间】:2016-08-17 18:33:21
【问题描述】:
我的数据库中有这样的用户:
users
--45jklj4kljfejlk34 // random uid
----id: 1 // I add this manually when creating a user (maybe it helps getting a random user)
----someData: true
--454jkljkljefnd4lk
----id: 2
----someData: true
我想获得一个随机用户,但我不知道怎么做。 我试过了。像这样:
let usersCount = DataService.sharedInstance.DB_USER_COUNT
let rand = Double(arc4random_uniform(UInt32(usersCount))) + 1
let userRef = DataService.sharedInstance.DB_REF_USERS.queryOrdered(byChild: "id").queryStarting(atValue: rand).queryLimited(toFirst: 1))
我从数据库中获取 usersCount。在那里,我每次添加用户时都会增加数字。
但这不起作用。这就是我打印出来的结果:
(/users {
i = id;
l = 1;
sp = 1;
vf = l;
})
有什么建议,我该如何实现?
【问题讨论】:
-
像
DataService.sharedInstance.DB_REF_USERS.queryStarting(atValue: rand).queryLimited(toFirst: 1))一样使用它 -
嗯,打印同样奇怪的东西
-
运行了几次,结果总是一样的
(/users { l = 1; sp = 1; vf = l; }) -
嗯,它只返回 1
-
所以如果它返回相同的值,它总是会给你相同的值...... :)
标签: ios swift firebase firebase-realtime-database