From 3bfc5fdd3011669b472065a17ab7fa0cb670c4c6 Mon Sep 17 00:00:00 2001 From: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com> Date: Wed, 28 Feb 2024 11:49:22 +0200 Subject: [PATCH] Merge pull request #17294 from overleaf/ii-token-access-null-values-2 [web] Use secondary when fixing token access values in projects GitOrigin-RevId: 2111b20630530e2c8d09120a783c84efe6e976ed --- .../remove_deleted_users_from_token_access_refs.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/services/web/scripts/remove_deleted_users_from_token_access_refs.js b/services/web/scripts/remove_deleted_users_from_token_access_refs.js index 4d23f1abf5..eeb7454344 100644 --- a/services/web/scripts/remove_deleted_users_from_token_access_refs.js +++ b/services/web/scripts/remove_deleted_users_from_token_access_refs.js @@ -3,6 +3,9 @@ const { batchedUpdate } = require('./helpers/batchedUpdate') const { ObjectId } = require('mongodb') const minimist = require('minimist') const CollaboratorsHandler = require('../app/src/Features/Collaborators/CollaboratorsHandler') +const { + READ_PREFERENCE_SECONDARY, +} = require('../app/src/infrastructure/mongodb') const argv = minimist(process.argv.slice(2), { string: ['projects'], @@ -35,9 +38,18 @@ const PROJECTS_LIST = argv.projects async function findUserIds() { const userIds = new Set() - const cursor = db.users.find({}, { _id: 1 }) + const cursor = db.users.find( + {}, + { + projection: { _id: 1 }, + readPreference: READ_PREFERENCE_SECONDARY, + } + ) for await (const user of cursor) { userIds.add(user._id.toString()) + if (userIds.size % 1_000_000 === 0) { + console.log(`=> ${userIds.size} users added`, new Date().toISOString()) + } } console.log(`=> User ids count: ${userIds.size}`) return userIds