如何在解析对象属性上设置 TTL
How can I set a TTL on a Parse Object Attribute
我看到了这个posthttps://www.parse.com/questions/ttl-support
但是,经过广泛搜索后,我没有发现其他对话或 post 与 Parse 中类似 TTL 的功能有关。
有人做过这样的事吗?
我将 Firebase URI 保存在一个解析对象中,并在设定的时间 (TTL) 后删除这些引用。
一种方法是使用 Parse Cloud Code 设置作业。这种方式需要Parse Command Line Tool。您可以按照此快速入门来设置所有内容。
例如,假设您在 'Content' class:
中有一个这样的对象
{
"belongsTo": {
"__type": "Pointer",
"className": "Test",
"objectId": "98765"
},
"createdAt": "2016-01-01T00:00:00.004Z",
"expiration": {
"__type": "Date",
"iso": "2016-02-01T00:00:00.004Z"
},
"isLive": true,
"content": "This is a text",
"objectId": "01234",
"updatedAt": "2016-01-03T12:49:33.004Z"
}
您想将字段 "isLive" 切换为 false 以实质上防止您的查询返回旧数据。你可以使用这样的东西:
Parse.Cloud.job('ExpirationCheck', function(request, status) {
Parse.Cloud.useMasterKey();
var d = new Date();
var now = new Date(d.getTime());
var query = new Parse.Query('Content');
query.lessThanOrEqualTo('expiration', now );
query.each(function(row) {
row.set('isLive', false);
return row.save()
}).then(function() {
status.success('Success');
}, function(error) {
status.error('Error');
});
});
然后,在 Parse 的 'Jobs' 选项卡中,您可以设置一个间隔运行的作业,引用 'ExpirationCheck' 的这个新作业。
或者,如果您愿意,可以完全删除数据,但我更喜欢有一个切换字段。
我看到了这个posthttps://www.parse.com/questions/ttl-support
但是,经过广泛搜索后,我没有发现其他对话或 post 与 Parse 中类似 TTL 的功能有关。
有人做过这样的事吗?
我将 Firebase URI 保存在一个解析对象中,并在设定的时间 (TTL) 后删除这些引用。
一种方法是使用 Parse Cloud Code 设置作业。这种方式需要Parse Command Line Tool。您可以按照此快速入门来设置所有内容。
例如,假设您在 'Content' class:
中有一个这样的对象{
"belongsTo": {
"__type": "Pointer",
"className": "Test",
"objectId": "98765"
},
"createdAt": "2016-01-01T00:00:00.004Z",
"expiration": {
"__type": "Date",
"iso": "2016-02-01T00:00:00.004Z"
},
"isLive": true,
"content": "This is a text",
"objectId": "01234",
"updatedAt": "2016-01-03T12:49:33.004Z"
}
您想将字段 "isLive" 切换为 false 以实质上防止您的查询返回旧数据。你可以使用这样的东西:
Parse.Cloud.job('ExpirationCheck', function(request, status) {
Parse.Cloud.useMasterKey();
var d = new Date();
var now = new Date(d.getTime());
var query = new Parse.Query('Content');
query.lessThanOrEqualTo('expiration', now );
query.each(function(row) {
row.set('isLive', false);
return row.save()
}).then(function() {
status.success('Success');
}, function(error) {
status.error('Error');
});
});
然后,在 Parse 的 'Jobs' 选项卡中,您可以设置一个间隔运行的作业,引用 'ExpirationCheck' 的这个新作业。
或者,如果您愿意,可以完全删除数据,但我更喜欢有一个切换字段。