使用Javascript在Parse.com中获取多个相关对象的简单方法?
我有一个球员班。玩家可以拥有x个奖杯。我有球员objectId,需要得到他们所有奖杯的列表 在Parse.com数据浏览器中,播放器对象有一列标记为:使用Javascript在Parse.com中获取多个相关对象的简单方法?,javascript,parse-platform,Javascript,Parse Platform,我有一个球员班。玩家可以拥有x个奖杯。我有球员objectId,需要得到他们所有奖杯的列表 在Parse.com数据浏览器中,播放器对象有一列标记为: trophies Relation<Trophy> (view Relations) 我还尝试了关系查询: var relation = new Parse.Relation(player, "trophies"); relation.query().find({ //also throws an error- somethin
trophies Relation<Trophy>
(view Relations)
我还尝试了关系查询:
var relation = new Parse.Relation(player, "trophies");
relation.query().find({
//also throws an error- something about a Substring being required.
这是一项非常普通的任务,但我想不出正确的方法
有人知道如何在Javscript CloudCode中实现这一点吗
非常感谢
编辑--
我可以对用户进行关系查询:
var user = Parse.User.current();
var relation = user.relation("trophies");
relation.query().find({
我不明白,如果我使用的是非用户对象,为什么同样的代码会中断 我最终解决了这个问题,尽管有一个警告使得这项工作与文档中指出的不同
//Assuming we have 'player', an object of Class 'Player'.
var r = player.relation("trophies");
r.query().find({
success: function(trophies){
response.success(trophies); //list of trophies pointed to by that player's "trophies" column.
},
error: function(error){
response.error(error);
}
})
注意事项:您必须在内存中有一个“已满”的播放器对象,才能使其正常工作。您不能保存一个播放器对象,从成功回调中获取该对象并进行此操作。由于某些原因,成功处理程序中返回的对象似乎是不完整的Parse.object,并且缺少执行此操作所需的某些方法
关于Parse.com Javascript SDK的另一个绊脚石——一个没有发现任何东西的查询仍然被认为是成功的。因此,每次查询某个内容时,都必须检查响应的长度是否大于0,因为成功的查询可能不会返回任何内容。这就是我的工作原理:
var Comment = Parse.Object.extend("Comment");
var commentsQuery = new Parse.Query(Comment);
commentsQuery.equalTo("parent", video);//for the given 'video' instance, find its children (comments)
commentsQuery.descending("createdAt");
return commentsQuery.find();
注意:当然,video
是video类的一个实例。返回find()
意味着我必须在调用此函数的任何函数中处理“promise”
这是另一个来自另一个角度的函数:
getRecentCommentsOfAllVideos: function(limit) {
var Comment = Parse.Object.extend("Comment");
var commentsQuery = new Parse.Query(Comment);
commentsQuery.descending("createdAt");
commentsQuery.limit(limit);
commentsQuery.include("parent");//this enables the details of the comment's associated video to be available in the result
return commentsQuery.find();
}
(请务必阅读并搜索“在每条评论中包含帖子数据”一行。)
我也看了这些资料,;也许他们会帮助你(尽管他们对我帮助不大):
getRecentCommentsOfAllVideos: function(limit) {
var Comment = Parse.Object.extend("Comment");
var commentsQuery = new Parse.Query(Comment);
commentsQuery.descending("createdAt");
commentsQuery.limit(limit);
commentsQuery.include("parent");//this enables the details of the comment's associated video to be available in the result
return commentsQuery.find();
}