|
@@ -53,9 +53,43 @@ class ReaderService extends Service {
|
|
const total = await this.model.find({ ...filter });
|
|
const total = await this.model.find({ ...filter });
|
|
let res;
|
|
let res;
|
|
if (skip && limit) {
|
|
if (skip && limit) {
|
|
- res = await this.model.find({ ...filter }).skip(Number(skip) * Number(limit)).limit(Number(limit));
|
|
|
|
|
|
+ res = await this.model.aggregate([
|
|
|
|
+ {
|
|
|
|
+ $match: { ...filter },
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ $lookup: {
|
|
|
|
+ // 要查询的表名
|
|
|
|
+ from: 'user',
|
|
|
|
+ // 左表字段
|
|
|
|
+ localField: 'target',
|
|
|
|
+ // 右表字段
|
|
|
|
+ foreignField: 'openid',
|
|
|
|
+ // 返回的json key
|
|
|
|
+ as: 'userList',
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ $skip: +Number(skip * limit),
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ $limit: Number(limit),
|
|
|
|
+ },
|
|
|
|
+ ]);
|
|
} else {
|
|
} else {
|
|
- res = await this.model.find({ ...filter });
|
|
|
|
|
|
+ res = await this.model.aggregate([
|
|
|
|
+ {
|
|
|
|
+ $match: { ...filter },
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ $lookup: {
|
|
|
|
+ from: 'user',
|
|
|
|
+ localField: 'target',
|
|
|
|
+ foreignField: 'openid',
|
|
|
|
+ as: 'userList',
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ ]);
|
|
}
|
|
}
|
|
return { errcode: 0, errmsg: 'ok', data: res, total: total.length };
|
|
return { errcode: 0, errmsg: 'ok', data: res, total: total.length };
|
|
} catch (error) {
|
|
} catch (error) {
|