Browse Source

修改读者查询 变成聚合查询 用户信息

asd123a20 3 years ago
parent
commit
7c8ff81333
1 changed files with 36 additions and 2 deletions
  1. 36 2
      service-reader/app/service/reader.js

+ 36 - 2
service-reader/app/service/reader.js

@@ -53,9 +53,43 @@ class ReaderService extends Service {
       const total = await this.model.find({ ...filter });
       let res;
       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 {
-        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 };
     } catch (error) {