feat(db): 给UserGacha添加只读库和相关操作

This commit is contained in:
liangtongchuan
2023-05-06 18:28:06 +08:00
parent 8985065b0e
commit b7a2367219
5 changed files with 33 additions and 25 deletions

View File

@@ -1,5 +1,5 @@
import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
import { index, getModelForClass, prop, DocumentType, modelOptions, ReturnModelType, mongoose } from '@typegoose/typegoose';
import { getZeroPointD } from '../pubUtils/timeUtil';
import { RECRUIT } from '../pubUtils/dicParam';
import { Candidate, SimpleResult } from '../domain/activityField/guideGachaField';
@@ -103,7 +103,7 @@ export default class UserGacha extends BaseModel {
candidates: Candidate[]; // 预抽卡候选
public static async findAllByRole(roleId: string) {
let rec: UserGachaType[] = await UserGachaModel.find({ roleId }).lean({ virtuals: true });
let rec: UserGachaType[] = await UserGachaROModel.find({ roleId }).lean({ virtuals: true });
return rec;
}
@@ -142,5 +142,11 @@ export default class UserGacha extends BaseModel {
export const UserGachaModel = getModelForClass(UserGacha);
export let UserGachaROModel: ReturnModelType<typeof UserGacha, {}>;
export function loadUserGachaROModel(connect: mongoose.Connection) {
UserGachaROModel = getModelForClass(UserGacha, {
existingConnection: connect
});
}
export interface UserGachaType extends Pick<DocumentType<UserGacha>, keyof UserGacha> { }
export type UserGachaParam = Partial<UserGachaType>;

View File

@@ -18,6 +18,7 @@ import { loadRoleROModel } from "./Role";
import { loadHeroROModel } from "./Hero";
import { loadItemROModel } from "./Item";
import { loadUserGachaRecROModel } from "./UserGachaRec";
import { loadUserGachaROModel } from "./UserGacha";
export function loadGmDb(connect: mongoose.Connection) {
// console.log('************')
@@ -47,4 +48,5 @@ export function loadRODb(connect: mongoose.Connection) {
loadHeroROModel(connect);
loadItemROModel(connect);
loadUserGachaRecROModel(connect);
loadUserGachaROModel(connect);
}