解析获取对象而没有任何实际数据

时间:2018-08-13 16:44:43

标签: javascript parse-server parse-javascript-sdk

我的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 ...请查看:

enter image description here

奇怪的是,如果我选中“网络” ...:

enter image description here

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

1 个答案:

答案 0 :(得分: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'))
});

这应该记录所有地名