Bläddra i källkod

fix getPengunjung

yazid138 3 år sedan
förälder
incheckning
69655356a2
1 ändrade filer med 33 tillägg och 2 borttagningar
  1. 33 2
      controller/pengunjung.controller.js

+ 33 - 2
controller/pengunjung.controller.js

@@ -28,10 +28,41 @@ exports.create = handleError(async (req, res) => {
 })
 
 exports.getPengunjung = handleError(async (req, res) => {
-  const pengunjung = await pengunjungModel.find()
+  const { tahun } = req.query
+
+  let date = {}
+  if (tahun) {
+    date = {
+      $expr: {
+        $eq: [
+          { $year: '$createdAt' },
+          parseInt(tahun) || new Date().getFullYear(),
+        ],
+      },
+    }
+  }
+
+  const pengunjung = await pengunjungModel.aggregate([
+    { $match: date },
+    {
+      $group: {
+        _id: {
+          bulan: {
+            $month: '$createdAt',
+          },
+          tahun: {
+            $year: '$createdAt',
+          },
+        },
+        jumlah_pengunjung: {
+          $sum: 1,
+        },
+      },
+    },
+  ])
 
   return response.success(res, {
-    message: 'data pengunjung berhasil dibuat',
+    message: 'data pengunjung',
     data: pengunjung,
   })
 })