Company logo
  • Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Plans
    • Assessments
    • Payroll
    • Blog
    • Calculator

0

95
Views
MongoDB Count By Current Month

I'm new to MongoDB. I need to get the count of the posts which are posted in this current month. PlateModel is my model I've kept timestamps true also. It looks like the below:

  { timestamps: true }

My present code in the Controller looks like below:

 const today = new Date();
    const host_count = await PlateModel.find({
      $and: [
        {
          postedBy: req.user._id,
        },
        {
          createdAt: today.getMonth(),
        },
      ],
    }).count();

But, I get the count value 0. Can anyone help me to figure out the problem?

7 months ago · Juan Pablo Isaza
2 answers
Answer question

0

You could filter the objects from the start of the current month to the end of the next month:

const startOfCurrentMonth = new Date();
startOfCurrentMonth.setDate(1);

const startOfNextMonth = new Date();
startOfNextMonth.setDate(1);
startOfNextMonth.setMonth(startOfNextMonth.getMonth() + 1);

const host_count = await PlateModel.find({
  $and: [
    {
      postedBy: req.user._id,
    },
    {
      createdAt: {
          $gte: startOfCurrentMonth,
          $lt: startOfNextMonth
      }
    },
  ],
}).count();
7 months ago · Juan Pablo Isaza Report

0

You can use the Moment library.

const moment = require("moment");

const firstdate = moment().startOf('month').format('DD-MM-YYYY');
console.log(firstdate);

const lastdate=moment().endOf('month').format("DD-MM-YYYY"); 
console.log(lastdate);

 
const host_count = await PlateModel.find({
  $and: [
    {
      postedBy: req.user._id,
    },
    {
      createdAt: {
          $gte:firstdate,
          $lt:lastdate
      }
    },
  ],
}).count();

7 months ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post job Plans Our process Sales
Legal
Terms and conditions Privacy policy
© 2023 PeakU Inc. All Rights Reserved.