通过指针获取解析对象
Posted
技术标签:
【中文标题】通过指针获取解析对象【英文标题】:Getting Parse Objects via pointers 【发布时间】:2016-01-25 14:22:24 【问题描述】:我正在尝试获取一个包含指向Restaurant
的指针的Reservation
对象。
在 Parse Cloud 代码中,我可以在 response.success 之前的日志中通过 query.include('Restaurant')
获取与 Reservations
关联的餐馆对象。但是,当我在客户端应用程序上收到响应时,Restaurants
恢复为指针。
按照一些答案的建议,我尝试将 JSSDK 版本恢复为 1.4.2
和 1.6.7
,但这对我不起作用。
Parse.Cloud.define('getreservationsforuser', function(request, response)
var user = request.user
console.log(user)
var query = new Parse.Query('Reservations')
query.equalTo('User', user)
query.include('Restaurant')
query.find(
success : function(results)
console.log(JSON.stringify(results))
response.success(results)
,
error : function (error)
response.error(error)
)
)
回复:
..."restaurant":"__type":"Pointer",
"className":"Restaurants",
"objectId":"kIIYe7Z0tD",...
【问题讨论】:
【参考方案1】:即使您已将指针对象包含在内,您也不能直接从云代码中发回指针对象。您需要手动将该指针对象的内容复制到 javascript 对象。如下:
var restaurant =
restaurant["id"] = YOUR_POINTER_OBJECT.id;
restaurant["createdAt"] = YOUR_POINTER_OBJECT.createdAt;
restaurant["custom_field"] = YOUR_POINTER_OBJECT.get("custom_field");
ps:在您的代码中,除了直接发回响应之外,您似乎什么也不做。我认为在这种情况下解析 REST api 可能是一个更好的选择。
【讨论】:
您能否提供更多详细信息?当它是预定义类型Parse.Object
时,如何将它们包含在解析对象中?我无法理解您的回答,因为它不会用它创建 Parse 对象。 REST Api 如何成为更好的选择?任何参考/示例?【参考方案2】:
事实证明我的代码实现是正确的。
【讨论】:
以上是关于通过指针获取解析对象的主要内容,如果未能解决你的问题,请参考以下文章