From 8e05519da2f8ddf39081df97d2e83bafb23e51f6 Mon Sep 17 00:00:00 2001 From: minottic Date: Fri, 15 Mar 2024 10:52:01 +0100 Subject: [PATCH] Loop cursor rather than memory loading results --- .../src/repositories/paragraph.repository.ts | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/sci-log-db/src/repositories/paragraph.repository.ts b/sci-log-db/src/repositories/paragraph.repository.ts index 4af35e4c..b9d2134e 100644 --- a/sci-log-db/src/repositories/paragraph.repository.ts +++ b/sci-log-db/src/repositories/paragraph.repository.ts @@ -27,18 +27,16 @@ export class ParagraphRepository extends SnippetRepositoryMixin< htmlTextcontent: null, textcontent: {$ne: null}, }); - const paragraphs = await paragraphsCursor.toArray(); const baseSnippetRepository = await this.baseSnippetRepository(); - await Promise.all( - paragraphs.map(async (paragraph: {_id: string; textcontent: string}) => { - const sanitised = sanitizeTextContent(paragraph.textcontent); - if (!sanitised) return; - return baseSnippetRepository.updateById( - `${paragraph._id}`, - {htmlTextcontent: sanitised}, - {currentUser: {roles: ['admin']}}, - ); - }), - ); + for await (const paragraph of paragraphsCursor) { + const sanitised = sanitizeTextContent(paragraph.textcontent); + if (!sanitised) return; + await baseSnippetRepository.updateById( + `${paragraph._id}`, + {htmlTextcontent: sanitised}, + {currentUser: {roles: ['admin']}}, + ); + } + await paragraphsCursor.close(); } }