如何使用Swift查询解析服务器中的一对多关系

如何使用Swift查询解析服务器中的一对多关系,swift,parse-platform,parse-server,Swift,Parse Platform,Parse Server,我正在尝试使用Swift在Parse中构建一个聊天应用程序。在viewDidLoad,我想查询仪表板中的新消息。我用下面的代码来做这件事,但没有得到任何结果,解析也没有给我任何错误。由于Parse不知道连接,如何基于子查询获取聊天数据 我的计划是这样做: Select * from Chat inner join ChatMember where chat.objectId = ChatMember.chatId and user = <current user> 数据结构 Cl

我正在尝试使用Swift在Parse中构建一个聊天应用程序。在viewDidLoad,我想查询仪表板中的新消息。我用下面的代码来做这件事,但没有得到任何结果,解析也没有给我任何错误。由于Parse不知道连接,如何基于子查询获取聊天数据

我的计划是这样做:

Select * from Chat inner join ChatMember where chat.objectId =  ChatMember.chatId and user = <current user>
数据结构

Class Chat {objectId: String, owner: Pointer _User, name: String,    lastActivity: Date}

Class ChatMember {objectId: String, chatId: Pointer Chat, user: Pointer _User, memberSince: Date,  lastActivity: Date, Mute: Boolean}

Class Message {objectId: String, chatId: Pointer Chat, author: Pointer _User, createAt: Date, message: String }
我已经做过的测试:

数据库中的字段是正确的。因为如果我在ChatMember中添加一个新列,并将聊天id存储为字符串,它将非常有效。只是不使用指针:

let squery = PFQuery(className: "ChatMember")
squery.whereKey(“user”, equalTo:(PFUser.current())!)


let query = PFQuery(className: "Chat")
query.whereKey("objectId", matchesKey:"CHATID_AS_STRING", in: squery)

我现在也有类似的问题。你明白了吗?有一点可能会对你有所帮助(如果你使用的是swift 3),那就是你需要所有的PFUser.current()!。用户名。你漏掉了。用户名和你所拥有的一样,这不会返回名称,但代码我也有类似的问题。你明白了吗?有一点可能会对你有所帮助(如果你使用的是swift 3),那就是你需要所有的PFUser.current()!。用户名。您漏掉了。用户名和您拥有的一样,它不会返回名称,而是返回代码
let squery = PFQuery(className: "ChatMember")
squery.whereKey(“user”, equalTo:(PFUser.current())!)


let query = PFQuery(className: "Chat")
query.whereKey("objectId", matchesKey:"CHATID_AS_STRING", in: squery)