diff --git a/shared/db/BaseModel.ts b/shared/db/BaseModel.ts index 23807ef1d..2c933ae90 100644 --- a/shared/db/BaseModel.ts +++ b/shared/db/BaseModel.ts @@ -1,4 +1,4 @@ -import { prop, pre } from '@typegoose/typegoose'; +import { prop, pre, modelOptions } from '@typegoose/typegoose'; import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses'; /** @@ -13,6 +13,8 @@ import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses'; next(); }) + +@modelOptions({schemaOptions: {id: false}}) export default class BaseModel extends TimeStamps { _id?: string diff --git a/shared/db/Equip.ts b/shared/db/Equip.ts index 79bc62f43..7c5822ef5 100644 --- a/shared/db/Equip.ts +++ b/shared/db/Equip.ts @@ -1,5 +1,5 @@ import BaseModel from './BaseModel'; -import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; +import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose'; class RandSe { @prop({ required: true }) @@ -16,6 +16,7 @@ class Holes { } @index({ roleId: 1, hid: 1, id: 1 }) @index({ seqId: 1 }) +@modelOptions({schemaOptions: {id: false}}) export default class Equip extends BaseModel { @prop({ required: true }) roleId: string; // 角色 id @@ -74,4 +75,6 @@ export default class Equip extends BaseModel { export const EquipModel = getModelForClass(Equip); -export interface EquipType extends Pick, keyof Equip>{}; \ No newline at end of file +export interface EquipType extends Pick, keyof Equip>{ + id: number; +}; \ No newline at end of file diff --git a/shared/db/Game.ts b/shared/db/Game.ts index 7c4df8684..ba633050d 100644 --- a/shared/db/Game.ts +++ b/shared/db/Game.ts @@ -1,6 +1,6 @@ import { APP_ID } from './../consts'; import BaseModel from './BaseModel'; -import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; +import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose'; class ServerInfo { @prop({ required: true }) @@ -29,6 +29,7 @@ class ServerInfo { * 游戏字段接口 */ @index({ id: 1 }) +@modelOptions({schemaOptions: {id: false}}) export default class Game extends BaseModel { @prop({ required: true }) @@ -91,4 +92,6 @@ export default class Game extends BaseModel { export const GameModel = getModelForClass(Game); -export interface GameType extends Pick, keyof Game>{}; +export interface GameType extends Pick, keyof Game>{ + id: number; +}; diff --git a/shared/db/Item.ts b/shared/db/Item.ts index 4da683f8d..013b1a547 100644 --- a/shared/db/Item.ts +++ b/shared/db/Item.ts @@ -1,8 +1,9 @@ import BaseModel from './BaseModel'; -import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; +import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose'; @index({ roleId: 1, id: 1 }) @index({ seqId: 1 }) +@modelOptions({schemaOptions: {id: false}}) export default class Item extends BaseModel { @prop({ required: true, default: '' }) roleId: string; // 角色 id @@ -44,7 +45,7 @@ export default class Item extends BaseModel { public static async increaseItem(roleId: string, id: number, count: number, itemInfo: {roleId: string, roleName: string, id: number, itemName: string, type: number, hid?: number }, lean = true) { const doc = new ItemModel(); const setOnInsert = Object.assign(doc.toJSON(), itemInfo); - const items = await ItemModel.findOneAndUpdate({roleId, id },{$setOnInsert: setOnInsert, $inc: { count }}, {new: true, upsert: true}).lean(lean); + const items: ItemType = await ItemModel.findOneAndUpdate({roleId, id },{$setOnInsert: setOnInsert, $inc: { count }}, {new: true, upsert: true}).lean(lean); return items; } @@ -77,4 +78,6 @@ export default class Item extends BaseModel { export const ItemModel = getModelForClass(Item); -export interface ItemType extends Pick, keyof Item>{}; \ No newline at end of file +export interface ItemType extends Pick, keyof Item>{ + id: number; +};