Parse 获取没有任何实际数据的对象

Posted

技术标签:

【中文标题】Parse 获取没有任何实际数据的对象【英文标题】:Parse fetches objects without any actual data 【发布时间】:2018-08-13 16:44:43 【问题描述】:

我的 Parse SDK 似乎在做奇怪的事情,看看这个:

await Parse.User.logIn("testuser", "123asd");

this.initMap().then( correct => this.correctInit = correct);
    const places = await PlaceDAO.getAllForPosition(this.coords);
    this.placesList = places;
    console.log(this.placesList)

我登录,然后从这个 DAO 方法中获取所有位置:

export class PlaceDAO 

    static async getAllForPosition(geopoint) 

        try 
            let query = new Parse.Query("Place");
            query.withinKilometers("location", latitude: geopoint.lat, longitude: geopoint.lng, 20);
            return await query.find();
         catch (err) 
            console.log("DAO ERROR: ", err)
        
    



当我阅读收到的内容时,无论是在 query.find() 之后还是在控制器中,我看到的是这两个对象;它们具有正确的 ID,但没有 Parse 类中定义的任何属性。为此类中的所有公共读写配置 ACL...查看:

奇怪的是,如果我检查“网络”...:

是的,看来我的应用实际上接收了整个对象!尽管 Parse SDK 无法访问此列表...它只是将其缩减...为什么?

【问题讨论】:

【参考方案1】:

要访问Parse.Object 的属性,您需要使用.get(key) 方法。 (见:https://docs.parseplatform.org/js/guide/#objects)

例如:

const places = await ParseDAO.getAllForPosition(position)
places.forEach((place) => 
    console.log(place.get('placeName'))
);

这应该记录所有地名

【讨论】:

你能详细说明一下这个例子吗?我不清楚这是如何在服务器上实现的,文档并没有让我更清楚。是否必须为您希望 Parse 显示的每个键执行此操作?谢谢。 我不明白你的问题。您必须通过调用“place.get(key)”来读取每个键,其中键是您要在对象中读取的属性的名称 感谢您提供详细信息。我现在明白了。

以上是关于Parse 获取没有任何实际数据的对象的主要内容,如果未能解决你的问题,请参考以下文章

parse.com / iOS - 有没有办法以 json 格式下载整个类对象?

Parse-Server - 无法从远程机器上的数据库中获取数据

如何获取 CloudKit 的实际配额?

解析:如何获取所有 saveEventually 任务

Parse 中的 objectId 为 null,虽然在将对象保存到 Parse 云时没有 ParseException

在 Parse Cloud Code 中保存“没有数据的对象”指针