从Parse.com删除特定对象

ian*_*ian 2 javascript parse-platform parse-cloud-code

在我的云代码中,我想要检索"Messages"类中的第一个对象.然后我想从该对象中获取一些信息,将其发送到另一个类,最后从我最初从中删除它的"Messages"类中删除该对象.下面是我的代码,但它不起作用.我该怎么做这个?

我应该使用与"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");
    }

  });
});
Run Code Online (Sandbox Code Playgroud)

避免混淆:"getUsers"是一个任意函数调用.

kin*_*ech 11

条目重复的问题;

查询类中的整个类vs第一个对象

但是,如果要删除特定对象,则需要具有唯一标识对象的内容.然后,一种方法是使用Parse对象id从类中删除对象.

要通过云删除对象,需要使用ParseObject的destroy方法.但是如果你有多个对象,那么你可以使用destroyAll方法.下面是关于javascript API的ParseObject删除方法的一个例子;

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.
  }
}); 
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助,问候.