Parse platform 在特定类中经过设定的时间后删除Parse中的对象
你好,我有一个将照片上传到服务器的应用程序。Parse只为我们提供20gb的存储空间,所以我不想超过这个限制。我想要的服务器,以便它会删除文件,如果它是3天。这就是代码Parse platform 在特定类中经过设定的时间后删除Parse中的对象,parse-platform,parse-cloud-code,Parse Platform,Parse Cloud Code,你好,我有一个将照片上传到服务器的应用程序。Parse只为我们提供20gb的存储空间,所以我不想超过这个限制。我想要的服务器,以便它会删除文件,如果它是3天。这就是代码 Parse.Cloud.job('deleteOldPosts', function(request, status) { // All access Parse.Cloud.useMasterKey(); var today = new Date(); var days = 10; var time = (days * 24
Parse.Cloud.job('deleteOldPosts', function(request, status) {
// All access
Parse.Cloud.useMasterKey();
var today = new Date();
var days = 10;
var time = (days * 24 * 3600 * 1000);
var expirationDate = new Date(today.getTime() - (time));
var query = new Parse.Query('post');
query.lessThan('createdAt', expirationDate);
query.find().then(function (posts) {
Parse.Object.destroyAll(posts, {
success: function() {
status.success('All posts are removed.');
},
error: function(error) {
status.error('Error, posts are not removed.');
}
});
}, function (error) {});
});
但是,如果我使用此代码,它将从所有类中删除文件。我只想让这段代码只在一个类上工作。可以这样做吗?在云代码中删除对象时,请使用
query。每个而不是query。查找以确保删除与查询匹配的所有对象
默认情况下,find
的查询限制为返回100个对象(如果使用了limit
,则最多返回1000个对象)
下面是使用承诺链更新的代码,该承诺链在每个Post
对象上调用destroy
。当所有销毁承诺完成时,将达到成功状态,如果任何销毁失败,则将达到错误状态
Parse.Cloud.job('deleteOldPosts', function(request, status) {
// All access
Parse.Cloud.useMasterKey();
var today = new Date();
var days = 10;
var time = (days * 24 * 3600 * 1000);
var expirationDate = new Date(today.getTime() - (time));
var query = new Parse.Query('post');
query.lessThan('createdAt', expirationDate);
query.each(function(post) {
return post.destroy();
}).then(function() {
console.log("Delete job completed.");
status.success("Delete job completed.");
}, function(error) {
alert("Error: " + error.code + " " + error.message);
status.error("Error: " + error.code + " " + error.message);
});
});
什么是3天年?另外,在进行查询时,请使用带有classname的query。感谢您首先发表评论。我没有收到您的评论“什么是3天年?”是post
包含您希望删除的媒体文件的类的名称吗?您的问题是“3天年”。我问你这是什么意思?三天大?还是三岁?这样我就能够理解var-time