错误说"包含数字值,但得到一个字符串"

时间:2016-01-26 00:02:45

标签: ios swift parse-platform

尝试通过两个Number列对我的查询设置约束:

query?.whereKey("entriesCount", lessThan: "entriesLimit")

但查询返回以下错误:

entriesCount contains number values but got a string (Code: 102, Version: 1.11.0)

在我的数据浏览器中很明显,这些值设置为数值。所以我不确定为什么它会以字符串形式回归。

我通过CloudCode增加了这些值,但我不知道这会如何导致这种类型的混淆。

已编辑以分享完整查询

let query = Contest.queryWithIncludes()
query?.whereKey("timeSlot", equalTo: timeSlot)
query?.whereKey("gameKind", equalTo: gameKind)
query?.whereKey("contestKind", equalTo: contestKind)
query?.whereKey("creator", notEqualTo: User.currentUser()!)
query?.whereKey("entriesCount", lessThan: "entriesLimit")
query?.addAscendingOrder("createdAt")

1 个答案:

答案 0 :(得分:1)

在行中:

"entriesLimit"

您正在传递字符串entriesLimit,而不是它所期望的数字。所以传递一个数字。或者,如果query?.whereKey("entriesCount", lessThan: 5) 恰好是Number类型的变量,则只需将其传递给它。所以:

query?.whereKey("entriesCount", lessThan: entriesLimit)

{{1}}