解析& Swift:具有多个键的列

时间:2016-11-17 11:20:19

标签: swift parse-platform

我在获取具有多个[String:Int]值的列的对象时遇到问题。在我的情况下,我存储了一个用户可以喜欢或不喜欢的消息。消息对象具有列likes,其中包含存储Dict[String, Int]等值(+ 1 / -1)的userID。 在后端看起来像:

"likes": {
  "123": 1,
  "456": -1,
  "789": 1
},

我能够在一周前使用以下结果获得结果:

query.whereKey("likes." + userID, equalTo: 1)

但不幸的是我收到了错误消息:

  

[错误]:无效的密钥名称:likes.123(代码:105,版本:1.12.0)

即使几天前它正在运作。

好吧,也许我还不够清楚。我试图获取用户之前喜欢的所有消息。因此,我想在"喜欢"中选择包含userID的所有邮件。列。

该课程被称为" message"有一个属性"喜欢"它再次包含一个Dict [UserID,Value]。完整查询如下所示:

let query = Message.query()!

query.whereKey("likes." + user, equalTo: 1)

并且后端中的对象如下所示:

{"_id": "123456789",
"message": "Test",
"likes": { "123": 1, "456": -1, "789": 1 }
}

我希望你能帮忙:)。

1 个答案:

答案 0 :(得分:0)

您正试图获取likes.的值,但实际上您的密钥为likes,请从代码中删除

您修改的代码:

query.whereKey("likes", equalTo: 1)

感谢:)