密钥没有来自PFUser的子类的数据和引用指针字段

时间:2017-05-18 21:01:36

标签: parse-platform parse-server

我需要更新当前用户并在每次启动应用程序时重新获取,以便我可以掌握最新版本的用户对象,而不是使用磁盘上缓存的用户对象。

User.current()?.fetchInBackground(block: { (user, error) in
       //simply using a  fetchInBackground won't fetch the entire reference field store in 
      // the user collection. In the case of using PFQuery, we could simply include the key for  
      // reference field.
})

我是否必须对所有这些参考字段进行额外提取,然后相应地更新当前用户的文件?

1 个答案:

答案 0 :(得分:0)

Fetch仅返回存储在数据库中的数据。对于指针,这只是一个基本的JSON对象,指定它是该对象的指针,类名和objectId。为了返回此数据,您反而希望使用Parse Query并包含所需的字段。包含带点符号的工作,因此您可以执行类似objectAQuery.include("objectB.objectC")的操作,其中包含存储为objectB上指针的objectC的所有数据。如果我没有弄错的话,那将不会包含所有objectB的数据,但我无法肯定地说。

最后,使用query.get()获取具有特定objectId的对象。但是,如果对象不存在,则会抛出错误,因此请确保正确处理。你也可以在objectId上使用query equalTo然后调用query.first(),但更推荐get