形象:头像相框形象字段
This commit is contained in:
+11
-11
@@ -107,9 +107,9 @@ export default class PvpDefense extends BaseModel {
|
||||
|
||||
public static async findByScale(roleId: string, min: number, max: number) {
|
||||
const result: PvpDefenseType[] = await PvpDefenseModel.find({ roleId: { $ne: roleId }, defCe: { $lte: max, $gte: min } })
|
||||
.populate('role', 'headHid sHid topLineupCe roleId roleName lv globalCeAttr')
|
||||
.populate('role', 'head frame spine topLineupCe roleId roleName lv globalCeAttr')
|
||||
.populate('heroes.hero')
|
||||
.sort({ updatedAt: -1 }).limit(100).lean({ getters: true });
|
||||
.sort({ updatedAt: -1 }).limit(100).lean({ getters: true, virtuals: true });
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -151,26 +151,26 @@ export default class PvpDefense extends BaseModel {
|
||||
|
||||
public static async findByRoleIdIncludeAll(roleId: string) {
|
||||
const result: PvpDefenseType = await PvpDefenseModel.findOne({ roleId })
|
||||
.populate('role', 'headHid sHid topLineupCe roleId roleName lv globalCeAttr')
|
||||
.populate('role', 'head frame spine topLineupCe roleId roleName lv globalCeAttr')
|
||||
.populate('heroes.hero')
|
||||
.populate('oppPlayers.oppDef', 'oppRoleId pos roleName headHid sHid rankLv title lv pLv defCe heroes').lean({ getters: true });
|
||||
.populate('oppPlayers.oppDef', 'oppRoleId pos roleName head frame spine rankLv title lv pLv defCe heroes').lean({ getters: true, virtuals: true });
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async findByTeamLv(min: number, max: number) {
|
||||
const result: PvpDefenseType[] = await PvpDefenseModel.find({ pLv: { $gte: min, $lte: max } })
|
||||
.populate('role', 'headHid sHid topLineupCe roleId roleName lv globalCeAttr')
|
||||
.populate('role', 'head frame spine topLineupCe roleId roleName lv globalCeAttr')
|
||||
.populate('heroes.hero')
|
||||
.populate('oppPlayers.oppDef', 'oppRoleId pos roleName headHid sHid rankLv pLv title lv defCe heroes')
|
||||
.lean({ getters: true });
|
||||
.populate('oppPlayers.oppDef', 'oppRoleId pos roleName head frame spine rankLv pLv title lv defCe heroes')
|
||||
.lean({ getters: true, virtuals: true });
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async updateInfoAndInclude(roleId: string, update: pvpUpdateInter) {
|
||||
delete update._id;
|
||||
let result: PvpDefenseType = await PvpDefenseModel.findOneAndUpdate({roleId}, {$set:update}, {new: true})
|
||||
.populate('role', 'headHid sHid topLineupCe roleId roleName lv')
|
||||
.populate('oppPlayers.oppDef', 'oppRoleId pos roleName headHid sHid rankLv pLv title lv defCe heroes').lean({ getters: true });
|
||||
.populate('role', 'head frame spine topLineupCe roleId roleName lv')
|
||||
.populate('oppPlayers.oppDef', 'oppRoleId pos roleName head frame spine rankLv pLv title lv defCe heroes').lean({ getters: true, virtuals: true });
|
||||
return result;
|
||||
}
|
||||
public static async updateInfo(roleId: string, update: pvpUpdateInter, lean = true) {
|
||||
@@ -186,8 +186,8 @@ export default class PvpDefense extends BaseModel {
|
||||
public static async getRank(seasonNum: number, page = 1, limit = 1000) {
|
||||
let sortBy = { score: -1, updatedAt: 1 };
|
||||
const ranks: PvpDefenseType[] = await PvpDefenseModel.find({seasonNum}).select('roleId role score updatedAt')
|
||||
.populate('role', 'roleId roleName headHid sHid title lv vLv')
|
||||
.sort(sortBy).limit(limit).skip((page - 1) * limit).lean({ getters: true });
|
||||
.populate('role', 'roleId roleName head frame spine title lv vLv')
|
||||
.sort(sortBy).limit(limit).skip((page - 1) * limit).lean({ getters: true, virtuals: true });
|
||||
return ranks;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user