Search code examples
iosxcodeparse-platformbackground-process

Create a background job for deleting last day records


how can i delete last day record from table

Parse.Cloud.job("deleteOldEntries", function(request, status) {
            var GameScore = Parse.Object.extend("GameScore");
            var query = new Parse.Query(GameScore);
            var day = new Date();
            day.setDate(day.getDate()-1);

            query.lessThan("createdAt", day);

            query.find({
                       success:function(results) {
                       console.log(results);
                       for (var i = 0, len = results.length; i < len; i++) {
                       var result = results[i];

                       result.destroy({});
                       console.log("Destroy: "+result);

                       }
                       status.success("Delete successfully.");             
                       },
                       error: function(error) {
                       status.error("Uh oh, something went wrong.");
                       console.log("Failed!");         
                       }
                       })

            });

I am using this code to delete last day record , it deployed to server successfully. after that i schedule the job successfully but record not delete.

any help appreciated.


Solution

  • Parse.Cloud.job("deleteMessages", function(request, status) {
    
    Parse.Cloud.useMasterKey();
    
    var ts = Math.round(new Date().getTime() / 1000);
    var tsYesterday = ts - (24 * 3600);
    var dateYesterday = new Date(tsYesterday*1000);
    
    var query = new Parse.Query("Your Object Class");
    
    query.lessThan("createdAt", dateYesterday);
    
    query.find({
        success: function(result) {
            for(var i=0; i<result.length; i++) {
                result[i].destroy({
                    success: function(object) {
                        status.success("Delete job completed");
                        alert('Delete Successful');
                    },
                    error: function(object, error) {
                        status.error("Delete error :" + error);
                        alert('Delete failed');
                    }
                });
            }
            status.success("Delete job completed");
        },
        error: function(error) {
            status.error("Error in delete query error: " + error);
            alert('Error in delete query');
        }
    });
    });