Запрос всего класса против первого объекта в классе

В моем облачном коде я хочу получить первый объект в классе "Сообщения". Затем я хочу получить некоторую информацию из этого объекта, отправить ее в другой класс и, наконец, удалить этот объект из класса "Сообщения", из которого я изначально извлек ее.

Мой вопрос: мне нужно запросить весь класс "Сообщения", чтобы получить первый объект в нем? Я не хочу замедлять свое приложение из-за неэффективного кода.

Parse.Cloud.afterSave("sendMessage", function(Parse.Message, response) {
  var body = null;
  var senderName = null;
  var senderId = null;
  var randUsers = [];

  var query = new.Parse.Query(Parse.Message);
  query.find({
    success: function(results){
      body.push(results[1].get("messageBody"));
      senderName.push(results[1].get("senderName"));
      senderId.push(results[1].get("senderId"));
      response.success(getUsers);
    }, 
    error: funtion(error){
      response.error("Error");
    }

  });
});

чтобы избежать путаницы: "getUsers" - это произвольный вызов функции.

1 ответ

Решение

Чтобы получить запись из класса, вам нужно запросить таблицу. Однако ваша проблема заключается в получении первой записи, которая не требует получения всей записи. Из вашего кода я вижу, что вы получаете первую запись массива результатов (результат [1]). Вы можете применить решение; получить первую запись класса, который вы хотите запросить. Вы можете сделать это двумя способами; Либо вы можете установить ограничение 1 для вашего запроса, либо вы можете использовать метод first(). Ссылка на Parse.Query JS API приведена ниже;

https://parse.com/docs/js/symbols/Parse.Query.html

Проверьте лимит и первые методы. Надеюсь это поможет. С уважением.

Другие вопросы по тегам