Parse 和 Swift 对一个键的两个查询约束 [英] Two Query Constraints On One Key with Parse and Swift

查看:10
本文介绍了Parse 和 Swift 对一个键的两个查询约束的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

伙计们,我正在尝试获取其用户名未包含在数组中的所有 PFUser(dontShowUsers.我还想使用变量 name 限制查询,它获取用户名等于用户搜索名称的所有用户.但是当我这样做时:

guys, I am trying to get all the PFUsers whose username is not included in an array (dontShowUsers. I also want to limit the query with the variable name, which gets all users whose username is equal a name the user searches. However when I do this:

findUsers.whereKey("username",containsString:name)
findUsers.whereKey("username",notContainedIn:dontShowUsers)

每个用户都显示.它执行这两个查询,并将它们添加在一起.我想用第二个 whereKey 约束第一个 whereKey.解决此问题的最佳方法是什么?

Every user shows. It peforms both these queries, and adds them together. I want to constrain the first whereKey with the second whereKey. What would be the best way to go about this?

推荐答案

这是一种方法

println(geoPoint)
user["location"] = geoPoint
let rejectedUsers: [String] = user["rejected"].copy() as [String]
let acceptedUsers: [String] = user["accepted"].copy() as [String]
let ignoredUsers = rejectedUsers + acceptedUsers

var query = PFUser.query()
query.whereKey("location", nearGeoPoint: geoPoint)
query.whereKey("username", notEqualTo: user.username)
query.whereKey("gender", equalTo: user["interestedIn"])
query.whereKey("username", notContainedIn: ignoredUsers)
query.limit = 10
query.findObjectsInBackgroundWithBlock({
    (objects: [AnyObject]!, error2: NSError!) -> Void in
    if error2 != nil {
        println(error2)
    } else {
        if objects.isEmpty {
            println("empty query")
        } else {
            for object in objects {
                self.usernames.append(object.username)
                self.userImages.append(object["image"] as NSData)

注意我如何从解析中复制我的用户 ["rejected"] 数组然后我用 + 创建ignoredUsers"

notice how i had to copy my user["rejected"] array from parse then i used + to create "ignoredUsers"

然后我就可以使用了:

query.whereKey("username", notContainedIn: ignoreUsers)

query.whereKey("username", notContainedIn: ignoredUsers)

这篇关于Parse 和 Swift 对一个键的两个查询约束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆