3

私のクラウド コードでは、"Messages" クラスの最初のオブジェクトを取得したいと考えています。次に、そのオブジェクトからいくつかの情報を取得し、それを別のクラスに送信し、最後に、最初に取得した「メッセージ」クラスからそのオブジェクトを削除します。以下は私のコードですが、動作しません。これはどうやって作り直せばいいですか?

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」は任意の関数呼び出しです。

4

3 に答える 3

13

エントリと質問が重複しています。

クラス全体とクラス内の最初のオブジェクトのクエリ

ただし、特定のオブジェクトを削除する場合は、オブジェクトを一意に識別するものが必要です。次に、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.
  }
}); 

これがお役に立てば幸いです。

于 2014-10-06T08:20:03.127 に答える
0
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")
            }
        }
    }
}
于 2020-03-11T17:06:15.830 に答える