解析云代码获取指针
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");
假设字段使用小写类名命名。
我正在开发一个应用程序,我想在其中实现径向搜索。为此,我在 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");
假设字段使用小写类名命名。