添加数据库类型别名
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop } from '@typegoose/typegoose';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
|
||||
class WarStatus {
|
||||
@prop({ required: true })
|
||||
@@ -38,7 +38,7 @@ export default class TowerRecord extends BaseModel {
|
||||
const update = Object.assign(recDoc.toJSON(), towerInfo );
|
||||
const { roleId, lv } = towerInfo;
|
||||
// console.log(JSON.stringify(towerInfo))
|
||||
let rec = await TowerRecordModel.findOneAndUpdate({roleId, lv}, {$set: update}, {upsert: true, new: true}).lean(lean);
|
||||
let rec: TowerRecordType = await TowerRecordModel.findOneAndUpdate({roleId, lv}, {$set: update}, {upsert: true, new: true}).lean(lean);
|
||||
return rec;
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ export default class TowerRecord extends BaseModel {
|
||||
public static async updateRecord(roleId: string, lv: number, battleCode: string, warId: number, heroes: Array<number>, inc: number, lean = true) {
|
||||
let tower = await TowerRecordModel.findOne({roleId, lv, 'warStatus.warId': warId});
|
||||
if(tower) {
|
||||
const rec = await TowerRecordModel.findOneAndUpdate(
|
||||
const rec: TowerRecordType = await TowerRecordModel.findOneAndUpdate(
|
||||
{roleId, lv, 'warStatus.warId': warId},
|
||||
{$set: {'warStatus.$.status': true, 'warStatus.$.battleCode': battleCode, passed: inc === 1 ? true : false}, $push: {heroes: {$each: heroes}}},
|
||||
{new: true, upsert: true}
|
||||
@@ -62,7 +62,7 @@ export default class TowerRecord extends BaseModel {
|
||||
return rec;
|
||||
} else {
|
||||
let warStatus = [{warId, status: true,battleCode, passed: inc === 1 ? true : false}];
|
||||
const rec = await TowerRecordModel.findOneAndUpdate(
|
||||
const rec: TowerRecordType = await TowerRecordModel.findOneAndUpdate(
|
||||
{roleId, lv},
|
||||
{ $push: {heroes: {$each: heroes}, warStatus: {$each: warStatus}}},
|
||||
{new: true, upsert: true}
|
||||
@@ -73,12 +73,12 @@ export default class TowerRecord extends BaseModel {
|
||||
|
||||
|
||||
public static async getRecordByLv(roleId: string, lv: number, lean = true) {
|
||||
const rec = await TowerRecordModel.findOne({roleId, lv}).lean(lean);
|
||||
const rec: TowerRecordType = await TowerRecordModel.findOne({roleId, lv}).lean(lean);
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async resetRecordByLv(roleId: string, lv: number, lean = true) {
|
||||
const rec = await TowerRecordModel.findOneAndUpdate(
|
||||
const rec: TowerRecordType = await TowerRecordModel.findOneAndUpdate(
|
||||
{roleId, lv, passed: false},
|
||||
{$set: {'warStatus.$[].status': false, 'warStatus.$[].battleCode': '', heroes: []}},
|
||||
{new: true}).lean(lean);
|
||||
@@ -86,10 +86,12 @@ export default class TowerRecord extends BaseModel {
|
||||
}
|
||||
|
||||
|
||||
public static async deleteAccount(roleId: string, lean = true) {
|
||||
let result = await TowerRecordModel.deleteMany({roleId}).lean(lean);
|
||||
return result||{};
|
||||
public static async deleteAccount(roleId: string) {
|
||||
let result = await TowerRecordModel.deleteMany({roleId});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const TowerRecordModel = getModelForClass(TowerRecord);
|
||||
|
||||
export interface TowerRecordType extends Pick<DocumentType<TowerRecord>, keyof TowerRecord>{};
|
||||
Reference in New Issue
Block a user