- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oct 27, 2022 05:01 PM
Hi All,
I am new to the airtable and Airtable Automations.
I have a table with a column ‘Filled Date’. I wanted to schedule an automation to happen every night to delete the records with a date that is 60 days prior to today.
I don’t know if am doing it wrong, but I tried to filter the rows using below code, but it’s filtering entire records:
var today = new Date();
const table = base.getTable(“Table1”);
const query = await table.selectRecordsAsync({
fields: [“Filled Date”]
});
const todelete = query.records.filter(rec => Math.ceil(Math.abs(today.getTime() - new Date(rec.getCellValue(“Filled Date”)).getTime()/ (1000 * 60 * 60 * 24))) > 60);
console.log(todelete);
Can anyone help me on this. Any advise is much appreciated. Thank you.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oct 27, 2022 06:25 PM
Welcome to the Airtable community!
Notice that your order of operations is off. You are converting only the record date/time to days, not the difference in time. Thus, you are probably getting all the records in the table.
Try adding a set of parentheses to fix the order of operations.
It might be easier for you to have a filtered view to do the date calculations and then have the automation script simply delete all the records in the view.