|  | @@ -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,
 | 
	
		
			
				|  |  |    })
 | 
	
		
			
				|  |  |  })
 |