我有一个问题似乎无法解决,也找不到答案。我正在使用 Parse 库在 Swift 中开发iOS应用程序。
我有一个 Mongo DB 通过 Heroku ,并且能够使用 Parse 向其写入数据,没有任何问题。现在我需要搜索(查询)数据存储区。我需要能够在名为“名称”的“列”中搜索任何名称,而不仅仅是确切的标题。
例如,“乘车票”是“乘车票:欧洲”的另一个名称。如果用户搜索“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)")
}
}
}
})
我放置了一些打印语句进行调试(并将删除它们,并且计数是否应该投入生产。
这一定是我想念的简单事。在此先感谢
答案 0 :(得分:0)
以这种方式尝试:
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”修饰符可以忽略文本大小写,也许就是问题所在。