فهرست منبع

Merge pull request #28481 from overleaf/oa-access-secondary-mongo

[web] Prefer secondary Mongo for get emails script

GitOrigin-RevId: 84cf1d23b056a4d4a738f1783059d2309997d912
Olzhas Askar 1 سال پیش
والد
کامیت
8710225ba5
1فایلهای تغییر یافته به همراه16 افزوده شده و 8 حذف شده
  1. 16 8
      services/web/scripts/get_emails_by_ids.mjs

+ 16 - 8
services/web/scripts/get_emails_by_ids.mjs

@@ -2,7 +2,11 @@ import { scriptRunner } from './lib/ScriptRunner.mjs'
 import fs from 'node:fs'
 import readline from 'node:readline'
 import minimist from 'minimist'
-import { db, ObjectId } from '../app/src/infrastructure/mongodb.js'
+import {
+  db,
+  ObjectId,
+  READ_PREFERENCE_SECONDARY,
+} from '../app/src/infrastructure/mongodb.js'
 
 /**
  * This script extracts user emails given a list of newline separated IDs
@@ -64,14 +68,18 @@ function parseArgs() {
 
 async function processBatch(idBatch, writeStream) {
   try {
-    const cursor = db.users
-      .find({
+    const cursor = db.users.find(
+      {
         _id: { $in: idBatch },
-      })
-      .project({
-        _id: 0,
-        email: 1,
-      })
+      },
+      {
+        projection: {
+          _id: 0,
+          email: 1,
+        },
+        readPreference: READ_PREFERENCE_SECONDARY,
+      }
+    )
 
     for await (const doc of cursor) {
       if (doc.email) {