簡體   English   中英

從 Parse.com 刪除特定對象

[英]Delete specific object from Parse.com

在我的雲代碼中,我想檢索“消息”類中的第一個對象。 然后我想從該對象中獲取一些信息,將其發送到另一個類,最后從我最初從中提取的“消息”類中刪除該對象。 下面是我的代碼,但它不起作用。 我應該如何返工?

我應該使用與“銷毀”方法(例如 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”是一個任意函數調用。

與條目重復的問題;

查詢整個類與類中的第一個對象

但是,如果要刪除特定對象,則需要唯一標識該對象的內容。 然后,一種方法是使用 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.
  }
}); 

希望這會有所幫助,問候。

上面的一些變化:

var missingDataQuery = new Parse.Query(missingDataObj)
            missingDataQuery.equalTo('projectId',project);

            var getMissingData = missingDataQuery.find({
                  success: function(yourObj) {
                    console.log('here')
                    yourObj[0].destroy({})
                  },
                  error: function(object, error) {

                  }
            });

在這里,我們獲取對象然后銷毀它。

func deleteImage(imageId: String) {

    let query = PFQuery(className: "ClassName")
    query.whereKey("imageId", equalTo: "\(imageId)")

    query.findObjectsInBackground {
        (objects:[PFObject]?, error: Error?) -> Void in

        if error == nil && (objects != nil) {
            for object in objects! {
                object.deleteInBackground()
                print("object deleted")
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM