在Parse中我将User表设置为具有多个列,其中大多数是字符串,但是一个是指向另一个Parse类的指针。我想在查询中使用此指针
在Java中,我可以访问我的查询中使用的指针,如下所示:
ParseUser currentUser = ParseUser.getCurrentUser();
ParseObject comParent = currentUser.getParseObject("ComParent");
在JavaScript中,我尝试过使用:
var currentUser = Parse.User.current();
var comParent = currentUser.get("ComParent");
但这会返回undefined。我做错了什么?
答案 0 :(得分:7)
According to the documentation:
“默认情况下,在获取对象时,不会获取相关的Parse.Object。这些对象的值在获取之前无法检索:”
var post = fetchedComment.get("parent");
post.fetch({
success: function(post) {
var title = post.get("title");
}
});
所以你应该写:
var currentUser = Parse.User.current();
var comParent = currentUser.get("ComParent");
comParent.fetch({
success: function(comParent) {
var name = comParent.get("Name");
alert(name); // this one will work
}
});
alert(comParent.get("Name")); // this one wont work, see below
请记住success
是一个异步回调,因此如果您需要访问comParent
以外的success
功能,comParent
将无法在success
功能之外使用{{1}}的{{3}}
答案 1 :(得分:1)
感谢。我的问题是两件事的结合。首先,正如你正确指出的那样,我没有正确地取出物体。其次,我试图从没有相关ComParent对象的用户那里获取一个对象(Doh!)。无论如何,你的解决方案让我需要获取对象,但我认为它不是应该有fetch的currentUser,它是comParent:
var currentUser = Parse.User.current();
var comParent = currentUser.get("ComParent");
comParent.fetch({
success: function(comParent) {
var name = comParent.get("Name");
alert(name);
}
});
再次感谢@ DelightedD0D