parse-platformparse-cloud-code

Parse Cloud Code Queries do not return anything ever


I have some parse cloud code im running on my self hosted server but im running into an issue where queries are not doing anything. I can run commands through terminal and get data back but when I run a query.find.. nothing happens. For Example:

Parse.Cloud.job("getall", function(request, response) {
  var itemStatus = Parse.Object.extend('MovieStatus');
  var query = new Parse.Query(itemStatus);

  query.find({
    success: function(results) {
      console.log(results.length)
      response.success(results.length);
    },
    error: function(err) {
      response.error(err);
    },
    useMasterKey : true
  })
})

Nothing happens. No error no response. I have added console logs to make sure its at least getting called and it is, but for some reason nothing every returns from the server when I do query.find

I have tried all sorts of things to figure out what the issue is but this affects all of my cloud code so it has to be something in there.


Solution

  • You are using an old syntax. Since version 3.0, Parse Server supports async/await style. Try this:

    Parse.Cloud.job("getall", async request => {
      ​const { log, message } = request;
      const ItemStatus = Parse.Object.extend('MovieStatus');
      const query = new Parse.Query(ItemStatus);
      const results = await query.find({ useMasterKey: true });
      log(response.length);
      message(response.length);
    })
    

    Not this is a job and not a cloud code function. You can invoke this job using Parse Dashboard and you should see the message in the job status section.