Mongodb find created results by date today

后端 未结 1 2053
生来不讨喜
生来不讨喜 2020-12-02 19:05

I have this query to get results on month. But I wanted to get the results of today.

var start = new Date(2010, 11, 1);
var end = new Date(2010, 11, 30);

db         


        
相关标签:
1条回答
  • 2020-12-02 19:48

    Your start date object should hold the current date time hours at 00:00:00.000 (milliseconds precision) and set the hours for today's date to 23:59:59.999:

    var start = new Date();
    start.setHours(0,0,0,0);
    
    var end = new Date();
    end.setHours(23,59,59,999);
    

    Then pass the modified date objects as usual in your MongoDB query operator:

    db.posts.find({created_on: {$gte: start, $lt: end}});
    

    If you are using the momentjs library, this can be done by using the startOf() and endOf() methods on the moment's current date object, passing the string 'day' as arguments:

    var start = moment().startOf('day'); // set to 12:00 am today
    var end = moment().endOf('day'); // set to 23:59 pm today
    
    0 讨论(0)
提交回复
热议问题