🐞 fix(后台): 礼包码查询优化

This commit is contained in:
luying
2023-05-04 19:17:01 +08:00
parent 4c3b65c5c1
commit 7c55a37a80
2 changed files with 8 additions and 9 deletions

View File

@@ -27,7 +27,8 @@ class RoleRecord {
* 领取记录
**/
@modelOptions({ schemaOptions: { id: false } })
@index({ code: 1, giftId: 1 })
@index({ code: 1 })
@index({ giftId: 1 })
export default class GiftCodeDetail extends BaseModel {
@prop({ required: true, default: '' })
@@ -69,13 +70,11 @@ export default class GiftCodeDetail extends BaseModel {
}
public static async findAllCodeByGiftId(id: number, cnt: number) {
let n = Math.ceil(cnt/1000);
let result: GiftCodeDetailType[] = [];
for(let i = 0; i < n; i++) {
let codes = await GiftCodeDetailModel.find({ giftId: id }).limit(1000).skip(i * 1000).sort({ _id: 1 }).lean();
result.push(...codes);
}
public static async findAllCodeByGiftId(id: number) {
let result: GiftCodeDetailType[] = await GiftCodeDetailModel.aggregate([
{ $match: { giftId: id } },
{ $project: { code: 1 } }
]);
return result;
}