Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How to filter data of least 6 month in mongodb?

I want to get user data of the last 6 months from the current date in MongoDB. I am filtering data by status than getting the array in response. I also want to apply another query on same based on date. I want to filter it once based on last 6 months then in another query based on last 30 days from current date.
My data is –

  {
    _id: new ObjectId("63ac23187dc7d"),
    details: 'hii there i am feeling great today',
    status: '1',
    createdAt: 2021-11-28T11:06:00.736Z
  },
  {
    _id: new ObjectId("63ac23b357dc96"),
    details: 'hi i am feeling good today',
    status: '1',
    createdAt: 2022-12-28T11:08:40.400Z,
  },
  {
    _id: new ObjectId("63b2b2afa0d8e"),
    details: 'Hello!! This is Ankit and feeling good',
    status: '1',
    createdAt: 2022-11-14T10:31:36.098Z
  },
  {
    _id: new ObjectId("63b2b2sswa0d91"),
    details: 'Felling bad a bit',
    status: '1',
    createdAt: 2023-01-02T10:32:27.149Z
  },
  {
    _id: new ObjectId("63b2b2a0d94"),
    details: 'Hmm, its ok ok',
    status: '1',
    createdAt: 2023-01-02T10:33:19.386Z
  }

>Solution :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

We use the $gte query operator and JavaScript’s Date.now() function to retrieve all order documents with a date greater than or equal to 6 months before the current date. We will use new Date() of JavaScript to get the current date and the setMonth() method to go back 6 months.

You can try this

let sixMonths = new Date();
sixMonths.setMonth(sixMonths.getMonth() - 6);

db.collections.find({ createdAt: { $gte: sixMonths } });

For the days, you can put "1"instead of "6" which is equivalent to 1 month.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading