Swift Parse PFQuery 未显示 "equalTo" 或 "contains" 的结果

Swift Parse PFQuery is showing no results with "equalTo" or "contains"

我有一个问题我似乎无法解决也找不到答案。我正在使用 Parse 库在 Swift 中开发一个 iOS 应用程序。

我有一个 Mongo DB 通过 Heroku 并且我可以使用 向它写入数据Parse 没有问题。现在我需要 search(查询)数据存储。我需要能够在名为 'name' 的 "column" 中搜索任何名称,而不仅仅是确切的标题。

例如,"Ticket to Ride" 是一个名称,而 "Ticket to Ride: Europe" 是另一个名称。如果用户搜索 "Ticket to Ride",我需要在查询中显示两者。

现在,"whereKey contains" 和 "whereKey equalTo" 都没有返回结果。

let gamesQuery = PFQuery(className: "games")
print ("Searching for \(gameTitle)")
gamesQuery.whereKey("name", contains: gameTitle)
gamesQuery.findObjectsInBackground(block: { (objects, error) in
    if error != nil {
       print (error as Any)
       return
    }
    print ("Count : \(objects!.count)")
    if let games = objects{
       for  game in games {
           if let gameName = game["name"] as? String {
               print ("Game name :\(gameName)")
           }
       } 
    }            
})

我放置了一些 Print 语句用于调试(并且将删除它们和 count 如果这已经投入生产。

这一定是我所缺少的简单内容。提前致谢

这样试试:

    let gamesQuery = PFQuery(className: "games")
    print ("Searching for \(gameTitle)")
    gamesQuery.whereKey("name", matchesRegex: gameTitle, modifiers: "i")
    gamesQuery.findObjectsInBackground(block: { (objects, error) in
        if error != nil {
            print (error as Any)
            return
        }
        print ("Count : \(objects!.count)")
        if let games = objects{
            for  game in games {
                if let gameName = game["name"] as? String {
                    print ("Game name :\(gameName)")
                }
            }

        }

    })

使用 "i" 修饰符,您忽略了文本大小写,也许这就是问题所在。