diff --git a/packages/hydrooj/src/service/db.ts b/packages/hydrooj/src/service/db.ts index 9430b9ea6..6dee3f3fd 100644 --- a/packages/hydrooj/src/service/db.ts +++ b/packages/hydrooj/src/service/db.ts @@ -22,6 +22,7 @@ interface MongoConfig { url?: string, uri?: string, prefix?: string, + collectionMap?: Record, } class MongoService { @@ -54,8 +55,9 @@ class MongoService { } public collection(c: K) { - if (this.opts.prefix) return this.db.collection(`${this.opts.prefix}.${c}`); - return this.db.collection(c); + let coll = this.opts.prefix ? `${this.opts.prefix}.${c}` : c; + if (this.opts.collectionMap?.[coll]) coll = this.opts.collectionMap[coll]; + return this.db.collection(coll); } public async fixExpireAfter() {