From b421bdcba1d09134efda602a881cf11c759bac06 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Thu, 8 Sep 2022 21:09:50 +0300 Subject: [PATCH] Update clear.js --- scripts/commands/database/clear.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/commands/database/clear.js b/scripts/commands/database/clear.js index 757c050a3..c1658ac48 100644 --- a/scripts/commands/database/clear.js +++ b/scripts/commands/database/clear.js @@ -17,22 +17,31 @@ async function main() { const streams = await db.streams.all() - let total = 0 + let buffer = {} + let removed = 0 logger.info('searching...') for (const stream of streams) { if ( stream.status === 'error' && date.utc().diff(stream.updated_at, 'day') >= options.threshold ) { - logger.info(stream.url) + logger.info(`${stream.url} (offline)`) + removed += await db.streams.remove({ url: stream.url }, { multi: true }) + } - total += await db.streams.remove({ url: stream.url }, { multi: true }) + const key = stream.url.toLowerCase() + if (buffer[key]) { + logger.info(`${stream.url} (duplicate)`) + await db.streams.remove({ _id: stream._id }) + removed++ + } else { + buffer[key] = true } } await db.streams.compact() - logger.info(`removed ${total} streams`) + logger.info(`removed ${removed} streams`) } main()