diff --git a/shared/db/Role.ts b/shared/db/Role.ts index 407306815..ea977117f 100644 --- a/shared/db/Role.ts +++ b/shared/db/Role.ts @@ -264,8 +264,8 @@ export default class Role extends BaseModel { recFrdApplyCnt: number; // 玩家收取好友申请数量 @prop({ required: true, default: 0 }) updatedMailAt: number; - public static async findAllByUid(uid: number, lean = true) { - const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId head frame spine lv updatedAt').lean(lean); + public static async findAllByUid(uid: number, getters = false, virtuals = true) { + const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId head frame spine lv updatedAt').lean({ getters, virtuals}); return role; } diff --git a/shared/db/User.ts b/shared/db/User.ts index bc6ad6ca0..89945beb1 100644 --- a/shared/db/User.ts +++ b/shared/db/User.ts @@ -115,7 +115,7 @@ export default class User extends BaseModel { } public static async getLastDeviceGuest(deviceId: string, token: string) { - const user: UserType = await UserModel.findOneAndUpdate({ device: { $elemMatch: { $eq: deviceId } }, isGuest: true }, { token }).sort({createTime: -1}).lean(); + const user: UserType = await UserModel.findOneAndUpdate({ device: { $elemMatch: { $eq: deviceId } }, isGuest: true }, { token }, { new: true }).sort({createTime: -1}).lean(); return user; } diff --git a/web-server/app/controller/game.ts b/web-server/app/controller/game.ts index 445f3d6c6..378ddab50 100644 --- a/web-server/app/controller/game.ts +++ b/web-server/app/controller/game.ts @@ -15,7 +15,7 @@ export default class GameController extends Controller { let loginServerList = new Array(); let allServers = await GameModel.getServerList(); - let roles = await RoleModel.findAllByUid(uid); + let roles = await RoleModel.findAllByUid(uid, true, true); allServers.sort((a, b) => { return b.id - a.id;