我刚刚开始使用Parse,它很容易理解,直到我进入更高级的方面,例如保存指针数组。
我在Parse论坛上看到,最好的方法是将JSON对象保存到定义了一组类型的服务器,例如我有一组用户:
netsh interface set interface name="Local Area Connection 2" admin = ENABLED
netsh interface set interface name="Local Area Connection 3" admin = ENABLED
此信息保存到Parse就好了,但是当我来查询数据时,我从未得到Parse错误102.
我试过了:
[
{
"__type":"Pointer",
"className":"_User",
"objectId":"YkIlOohXZV"
},
{
"__type":"Pointer",
"className":"_User",
"objectId":"MBe4g6t8av"
}
]
为什么我收到错误102?有没有更好的方法来搜索数组,还是我必须从服务器查询所有内容?
答案 0 :(得分:2)
问题是您正在比较指向字符串的指针,而不是另一个解析对象。
我在Android上使用parse,所以我不确定语法,但你应该使用whereKey
和equalTo
解析用户本身(PFUser.currentUser()
)而不是字符串查找它的ID,因为它没有存储为字符串。当涉及数组时,equalTo
在匹配内搜索。
我不知道Swift,但我认为它应该在Obj-C中看起来像这样:
PFQuery *query = [PFQuery queryWithClassName:@"Requests"];
[query whereKey:@"recipients" equalTo:[PFUser currentUser]];
再次......请原谅任何语法错误......
P.S。只是为了确定,这是我在我的应用程序中使用的一个可用的Java代码片段:
ParseQuery<ParseObject> query = ParseQuery.getQuery("Requests");
query.whereEqualTo("recipients", ParseUser.getCurrentUser());