diff --git a/game-server/app.ts b/game-server/app.ts index 1bcf2ac87..9871e9e2a 100644 --- a/game-server/app.ts +++ b/game-server/app.ts @@ -29,7 +29,7 @@ import { updateTeamStatus } from './app/services/comBattleService'; import { resResult, genCode } from './app/pubUtils/util'; import { errlogger, infologger, loadLogger } from './app/util/logger'; import { connectThinkingData, getTire } from './app/services/sdkService'; -import { loadGmDb } from './app/db'; +import { loadSubDb, loadGmDb } from './app/db'; import { loadActivities } from './app/services/activity/activityRemoteService'; import { checkAndSetApiIsClose } from './app/services/chatService'; import { initGuildActivityIndexInPinus, resetJoinWoodenHorse } from './app/services/guildActivity/guildActivityService'; @@ -245,6 +245,7 @@ async function connectDb(app: _pinus.Application) { // Promise并行处理 return Promise.all([ initMongodb(app), + initSubMongodb(app), initGmMongodb(app), initRedis(app) ]) @@ -260,6 +261,11 @@ async function initMongodb(app: _pinus.Application) { }); } +async function initSubMongodb(app: _pinus.Application) { + let connect = await mongoose.createConnection(app.get('database').mongoSub||app.get('database').mongo, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false }); + loadSubDb(connect); + console.log('mongoGmDb connect suc') +} async function initGmMongodb(app: _pinus.Application) { let gmconnect = await mongoose.createConnection(app.get('database').gmmongo, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false }); loadGmDb(gmconnect); diff --git a/game-server/config/database.ts b/game-server/config/database.ts index 90a6b5d6f..154280b94 100644 --- a/game-server/config/database.ts +++ b/game-server/config/database.ts @@ -86,6 +86,7 @@ module.exports = { }, 'zy1': { // 公测自营大区配置 'mongo': 'mongodb://yjzDbOp:yjz2023ZyDB@dds-8vb801bc3bc34e741.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb801bc3bc34e742.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb801bc3bc34e743.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb801bc3bc34e744.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-515829261', + 'mongoSub': 'mongodb://yjzDbOp:yjz2023ZyDB@dds-8vb801bc3bc34e741.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb801bc3bc34e742.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb801bc3bc34e743.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb801bc3bc34e744.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-515829261', 'gmmongo': 'mongodb://yjzGmDbOp:yjz2023ZyGmDB@dds-8vbdf8c89bbdbd241.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdf8c89bbdbd242.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdf8c89bbdbd243.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdf8c89bbdbd244.mongodb.zhangbei.rds.aliyuncs.com:3717/zyzgm?replicaSet=mgset-515829436', 'redis': 'r-8vbkqfcnivt4ja3ndj.redis.zhangbei.rds.aliyuncs.com', 'redispw': 'hWCJ$HDajm9SN&&Z', diff --git a/shared/db/UserLog.ts b/shared/db/UserLog.ts index bced28515..a37634d04 100644 --- a/shared/db/UserLog.ts +++ b/shared/db/UserLog.ts @@ -1,5 +1,5 @@ import BaseModel from './BaseModel'; -import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; +import { index, getModelForClass, prop, DocumentType, ReturnModelType, mongoose } from '@typegoose/typegoose'; import { SearchUserLogParam } from '../domain/backEndField/search'; class MalReward { @@ -216,7 +216,13 @@ export default class UserLog extends BaseModel { } } -export let UserLogModel = getModelForClass(UserLog); + +export let UserLogModel: ReturnModelType; +export function loadUserLog(connect: mongoose.Connection) { + UserLogModel = getModelForClass(UserLog, { + existingConnection: connect + }); +} export interface UserLogModelType extends Pick, keyof UserLog> { } export type UserLogModelTypeParam = Partial; // 将所有字段变成可选项 \ No newline at end of file diff --git a/shared/db/index.ts b/shared/db/index.ts index 8d5cfb6e7..3abe319b6 100644 --- a/shared/db/index.ts +++ b/shared/db/index.ts @@ -13,6 +13,7 @@ import { loadActivityGroupType } from "./ActivityGroupType"; import { loadActivityTaskPoint } from "./ActivityTaskPoint"; import { loadChannelInfo } from "./ChannelInfo"; import { loadPackageModel } from "./Package"; +import { loadUserLog } from "./UserLog"; export function loadGmDb(connect: mongoose.Connection) { // console.log('************') @@ -30,4 +31,8 @@ export function loadGmDb(connect: mongoose.Connection) { loadActivityTaskPoint(connect); loadChannelInfo(connect); loadPackageModel(connect); +} + +export function loadSubDb(connect: mongoose.Connection) { + loadUserLog(connect); } \ No newline at end of file