admin管理员组

文章数量:1418400

In Parse I have the User table set up with a number of columns, most of which are Strings but one is a Pointer to another Parse Class. I want to use this pointer in a query

In Java I can access the pointer to use in my query as follows:

ParseUser currentUser = ParseUser.getCurrentUser();
ParseObject Parent = currentUser.getParseObject("ComParent");

In JavaScript I have tried using:

var currentUser = Parse.User.current();
var Parent = currentUser.get("ComParent");

But this returns undefined. What am I doing wrong?

In Parse I have the User table set up with a number of columns, most of which are Strings but one is a Pointer to another Parse Class. I want to use this pointer in a query

In Java I can access the pointer to use in my query as follows:

ParseUser currentUser = ParseUser.getCurrentUser();
ParseObject Parent = currentUser.getParseObject("ComParent");

In JavaScript I have tried using:

var currentUser = Parse.User.current();
var Parent = currentUser.get("ComParent");

But this returns undefined. What am I doing wrong?

Share Improve this question asked Jan 10, 2015 at 18:31 Mark__CMark__C 8251 gold badge15 silver badges25 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 7

According to the documentation:

"By default, when fetching an object, related Parse.Objects are not fetched. These objects' values cannot be retrieved until they have been fetched like so:"

var post = fetchedComment.get("parent");
post.fetch({
  success: function(post) {
    var title = post.get("title");

  }
});

So you should write:

var currentUser = Parse.User.current();
var Parent = currentUser.get("ComParent");
Parent.fetch({
    success: function(Parent) {
        var name = Parent.get("Name");
        alert(name); // this one will work
    }
});
alert(Parent.get("Name")); // this one wont work, see below

Just remember that success is an asynchronous callback,as such Parent will not be available outside the success function as shown above, if you need to access Parent outside of success check out https://stackoverflow./a/27673839/1376624

Thanks. My issue was a bination of 2 things. Firstly, I was not correctly fetching the object as you rightly point out. Secondly, I was trying to fetch an object from a user which did not have an associated ComParent object (Doh!). Anyway, your solution put me onto the need to fetch the object but I don't think it is the currentUser that should have the fetch, it is Parent:

var currentUser = Parse.User.current();
var Parent = currentUser.get("ComParent");
    Parent.fetch({
        success: function(Parent) {
            var name = Parent.get("Name");
            alert(name);
        }
    });

Thanks again @DelightedD0D

本文标签: Parse retrieve pointer from current user in javascriptStack Overflow