2014-10-06 3 views
2

В моем коде облака я хочу получить первый объект в классе «Сообщения». Затем я хочу получить некоторую информацию от этого объекта, отправить его другому классу и, наконец, удалить этот объект из класса «Сообщения», из которого я изначально вытащил его. Ниже мой код, однако он не работает. Как я должен переделать это?Удалить определенный объект из Parse.com

Должен ли я использовать другой подход, чем метод «destroy», такой как collection.remove?

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")); 
     results[1].destroy({ 
     success: function(results[1]){ 
      //the first object in the class "Messages" was deleted 
     }, error: function(results[1], error){ 
      //the first object was not deleted 
     } 
     }); 
     response.success(getUsers); 
    }, error: funtion(error){ 
     response.error("Error"); 
    } 

    }); 
}); 

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

ответ

8

Дубликат вопрос с записью;

Query entire class vs first object in the class

Однако, если вы хотите удалить конкретный объект, нужно что-то, однозначно идентифицировать объект . Затем один из способов использует идентификатор объекта Parse для удаления объекта из класса.

Чтобы удалить объект через облако, вам необходимо использовать метод destroy ParseObject. Но если у вас есть несколько объектов, вы можете использовать метод destroyAll. Один пример метода удаления ParseObject в javascript API приведен ниже;

var yourClass = Parse.Object.extend("YourClass"); 
var query = new Parse.Query(yourClass); 
query.get("yourObjectId", { 
    success: function(yourObj) { 
    // The object was retrieved successfully. 
    yourObj.destroy({}); 
    }, 
    error: function(object, error) { 
    // The object was not retrieved successfully. 
    // error is a Parse.Error with an error code and description. 
    } 
}); 

Надеется, что это помогает, уважения.

+0

да, но если я действительно использую objectId, как я могу удалить его из облака синтаксиса в javascript-коде? – ian

+0

Дорогой пользователь2792129, я обновляю ответ на основе вашего комментария. Надеюсь это поможет. С уважением. – kingspeech

+0

Это очень помогает! – ian

Смежные вопросы