如何使用 Kinvey 业务逻辑从集合中删除旧对象?
How do I delete old objects from collection with Kinvey Business Logic?
我在 Kinvey 有一个名为 'Events' 的集合,每个事件都有一个字符串格式的日期来与当前日期进行比较。例如,我创建了事件 "Party",它有一个开始日期和结束日期(iOS App)。我想要一个自定义端点来删除当前不在此间隔内的事件。
endDate 看起来像这样:“2016-06-15 01:39:26 +0000”
我使用 modules.moment() 获取当前日期并尝试与结束日期进行比较。如果 modules.moment() 大于 endDate,事件将从数据库中删除。
我想要一个自定义端点,因为此方法将 运行 一直安排以始终检查事件是否已结束。我对 javascript 的了解真的很差,我尝试了很多例子,但我似乎离解决方案还差得很远。
桑铎,
以下是您的自定义端点的模板代码,可以帮助您入门:
function onRequest(request, response, modules) {
var logger = modules.logger;
var events = modules.collectionAccess.collection('Events');
var moment = modules.moment();
events.remove({"endDate" : {"$lt": moment.toISOString()}},
function(err,res)
{
if(err)
{
logger.error("Error " + err);
return response.error(err);
}
else
{
return response.complete(200);
}
});
}
彻底测试此业务逻辑后,您可以使用 Kinvey 仪表板中此自定义端点的“计划”选项安排它。
谢谢,
普拉纳夫
金维支持
我在 Kinvey 有一个名为 'Events' 的集合,每个事件都有一个字符串格式的日期来与当前日期进行比较。例如,我创建了事件 "Party",它有一个开始日期和结束日期(iOS App)。我想要一个自定义端点来删除当前不在此间隔内的事件。
endDate 看起来像这样:“2016-06-15 01:39:26 +0000” 我使用 modules.moment() 获取当前日期并尝试与结束日期进行比较。如果 modules.moment() 大于 endDate,事件将从数据库中删除。
我想要一个自定义端点,因为此方法将 运行 一直安排以始终检查事件是否已结束。我对 javascript 的了解真的很差,我尝试了很多例子,但我似乎离解决方案还差得很远。
桑铎,
以下是您的自定义端点的模板代码,可以帮助您入门:
function onRequest(request, response, modules) {
var logger = modules.logger;
var events = modules.collectionAccess.collection('Events');
var moment = modules.moment();
events.remove({"endDate" : {"$lt": moment.toISOString()}},
function(err,res)
{
if(err)
{
logger.error("Error " + err);
return response.error(err);
}
else
{
return response.complete(200);
}
});
}
彻底测试此业务逻辑后,您可以使用 Kinvey 仪表板中此自定义端点的“计划”选项安排它。
谢谢, 普拉纳夫 金维支持