🐞 fix(后台): 礼包码查询优化
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user