使用Parse SDK从10.000结果中随机获取一行

时间:2016-03-23 18:18:08

标签: swift parse-platform random

我知道Parse没有实现随机功能,我读过许多关于用Parse选择随机行的文章,但我找不到适合我案例的好方法。

我想在我的应用中获得最近5天内连接的随机用户。以下是我想要进行的操作(使用Swift):

// Calculate the last 5 days
let today = NSDate()
let lastWeek = NSCalendar.currentCalendar().dateByAddingUnit(.Day,
                                                              value: -5,
                                                              toDate: today,
                                                              options: NSCalendarOptions(rawValue: 0))

// Find only the users who were logged in the last 5 days
let findReceiverQuery = PFQuery(className: "_User")
findReceiverQuery.whereKey("updatedAt", greaterThan: lastWeek!)
findReceiverQuery.findObjectsInBackgroundWithBlock({ (users, receiverError) in
    if(receiverError == nil) {

        let nbUsers = UInt32(users!.count)

        if(nbUsers > 0) {

            let random_number = Int(arc4random_uniform(nbUsers) + 0)
            print(users![random_number])

        }
    }
})

这样做效果很好但是如果我有超过10,000个结果会发生什么,因为Parse限制了返回到1.000的行数。我可以通过在skip上使用随机值来解决这个问题吗?

谢谢!

0 个答案:

没有答案