解析云代码获取指针

Parse Cloud Code fetch pointer

我正在开发一个应用程序,我想在其中实现径向搜索。为此,我在 Parse 上创建了一个名为 "UserLocation" 的 class,我在其中保存了用户坐标和指向“_User”对象的指针。现在我正在研究云代码功能,以在一定范围内吸引一些用户。使用以下代码,我可以找到附近的人,但不幸的是只有一个指针,所以我需要获取设备上的所有这些用户。有没有办法从云代码而不是指针获取用户对象?

Parse.Cloud.define('circum_search', function (request, response)
{
    var lat = request.params.lat;
    var lon = request.params.lon;
    var radius = request.params.radius;
    var query = new Parse.Query("UserLocation");
    query.withinKilometers("location", new Parse.GeoPoint(lat, lon), radius);
    query.find({
        success: function(locationObjects) {
            Parse.Object.fetchAllIfNeeded(locationObjects);   
            response.success(locationObjects);
        }
    });
});

我现在得到的答案是这样的对象数组:

 {
  "location": {
    "__type": "GeoPoint",
    "latitude": 47.3268966,
    "longitude": 8.542694
  },
  "user": {
    "__type": "Pointer",
    "className": "_User",
    "objectId": "ce9GRAzCF8"
  },
  "createdAt": "2018-02-01T17:08:07.078Z",
  "updatedAt": "2018-02-01T17:08:07.078Z",
  "ACL": {
    "d9db3aUdYU": {
      "read": true,
      "write": true
    },
    "*": {
      "read": true
    }
  },
  "objectId": "m3DmYfFv7I",
  "__type": "Object",
  "className": "UserLocation"
}

我现在的目标是用真正的用户对象而不是指针替换键 "user" 的对象。

好的,终于有了一个非常简单的解决方案,但我花了很长时间才找到它;)只需添加

query.include('user')

其中 user 是带有指针的字段的名称

仅供参考 您还可以使用带点符号的 include() 查询方法来包含存储为包含对象指针的对象。 IE。如果 ClassA 有一个指向 ClassB 的指针有一个指向 ClassC 的指针,你可以这样做:

var query = new Parse.Query("ClassA");
query.include("classB").include("classB.classC");

假设字段使用小写类名命名。