From 5cb4d7db54c9ffd51f2ada6f0190e8c0265b1dee Mon Sep 17 00:00:00 2001 From: zkldi Date: Fri, 25 Jun 2021 16:41:03 +0100 Subject: [PATCH] well --- server/src/external/mongo/db.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/server/src/external/mongo/db.ts b/server/src/external/mongo/db.ts index 6f7ae09be..caf3c7760 100644 --- a/server/src/external/mongo/db.ts +++ b/server/src/external/mongo/db.ts @@ -24,10 +24,11 @@ import { BMSCourseDocument, ImportLockDocument, } from "tachi-common"; -import monk from "monk"; +import monk, { TMiddleware } from "monk"; import { MONGO_CONNECTION_URL, MONGO_DATABASE_NAME } from "../../lib/setup/config"; import CreateLogCtx from "../../lib/logger/logger"; import { OrphanScoreDocument } from "../../lib/score-import/import-types/common/types"; +import * as util from "util"; const logger = CreateLogCtx(__filename); @@ -65,6 +66,24 @@ monkDB process.exit(1); }); +const RemoveIDMiddleware: TMiddleware = + ({ collection, monkInstance }) => + (next) => + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (args: any, method) => { + if ((method === "find" || method === "findOne") && !args.options.projectID) { + if (args.options.project) { + args.options.project._id = 0; + } else { + args.options.project = { _id: 0 }; + } + } + + return next(args, method); + }; + +monkDB.addMiddleware(RemoveIDMiddleware); + export async function CloseMongoConnection() { await monkDB.close(); }