Search code examples
javascriptnode.jsparse-serverparse-cloud-code

Querying users table in Parse Server Cloud returns nothing


I am using Parse Cloud to update user info. The user exists in database. When I query users table it returns nothing. I want to update a field and save it back again. Here is my cloud function:

Parse.Cloud.define("update", async(request) => {
    Parse.Cloud.useMasterKey();
    let query = new Parse.Query(Parse.User);
    query.equalTo("username", "admin");
    let user = await query.first();
    return user;  // now result is empty object {}. but the user exists in database
});

I think this issue relates to permissions because in other cases (other objects) I can query tables without problem.

So when I want to update the name field it says that "user.set is not a function":

if (user) {
        user.set("name", "Just a name");
        await user.save();
    }

Solution

  • Parse.Cloud.useMasterKey(); does not exist for a long time. You should do:

    Parse.Cloud.define("update", async(request) => {
        let query = new Parse.Query(Parse.User);
        query.equalTo("username", "admin");
        let user = await query.first({ useMasterKey: true });
        return user;
    });