Я написал клик. событие, которое вызывает метод. Этот метод подталкивает отдельные элементы (InfoId) в коллекцию под названием userManagement. Таким образом, эти элементы назначаются этому пользователю.Meteor - Как автоматически удалить один элемент из коллекции по истечении определенного периода времени с помощью метода на стороне сервера?
EventHandler:
Template.available.events({
"click .push": function(e) {
e.preventDefault();
var InfoId = this.InfoId;
Meteor.call('pushInfo', InfoId);
}, });
И метод:
Meteor.methods({
'pushInfo': function(InfoId) {
if (this.userId) {
userManagement.update({
'_id': this.userId
}, {
$push: {
'activeInfos': InfoId
}
}
);
}
}
});
Однако, теперь мне нужно автоматически удалить именно этот ранее добавленный один элемент (InfoId) от 'activeInfos' по истечении определенного периода времени е. г. три месяца.
Есть ли способ сделать это? Будем благодарны за любую помощь.
Спасибо.
Большое спасибо за такой подход. Я читаю и пытаюсь понять все это на GitHub прямо сейчас, чтобы реализовать Cronjob. Хотя, знаете ли вы, как я мог запустить это в рамках метода на стороне сервера? Я написал функцию userManagement.update с кодом $ pull в методе удаления одного элемента (InfoId) от пользователя. Это работает. Но я не знаю, как использовать SyncedCron.add ({...}) с этим? Или я могу просто написать SyncedCron.add ({с этой функцией $ pull)} на сервере и запустить SyncedCron.start() из щелчка. мероприятие? – Jaybruh
мы используем работу cron на стороне сервера. просто введите свой код cron внутри Meteor.startup() на стороне сервера, который является своего рода основной функцией или вы можете создать отдельный файл и импортировать его в основной файл на сервере. SyncedCron запускается автоматически, когда он видит функцию start() и выполняет задание в указанное время. Это полезно в случае, если мы хотим повторить функцию после указанного времени. вы должны поместить запрос userManagement.update в функцию работы. –
не забудьте пометить мой ответ правильно, щелкнув правой кнопкой мыши на мой ответ, если мой ответ помог вам как-то :) –