比较MongoDB中的日期(moment.js)

nl *_*pkr 14 mongodb momentjs

我想比较MongoDB和我约会的日期.

此外,我读这个这个职位和我没有找到答案.

我的代码:

  today: function() {
    var today = moment().format();
    return Posts.find({createdAt : { $gte : today}}) // show posts created in "future" , so this function must return nothing
  },

createdAt = moment().format();// in MongoDB
Run Code Online (Sandbox Code Playgroud)

结果这种结构不起作用,但如果我比较谎言:

var today = moment().format();
var daystart  = moment().startOf('day').format();
if (daystart > today){
  console.log ("YES");
}
else if (daystart < today)console.log ("NO");
Run Code Online (Sandbox Code Playgroud)

返回

"NO"
Run Code Online (Sandbox Code Playgroud)

有人帮忙吗?

编辑:

  today: function() {
    var today = moment().toDate();
    var daystart  = moment().startOf('day').toDate();
    // console.log(today + daystart);
    return Posts.find({createdAt : { $gt : today}}) 
  },
  week: function() {
          var today = new Date();
      return Posts.find({createdAt : { $lt : today}}) 
  },
  month: function() {
            var today = new Date();
      return Posts.find({createdAt : { $ne : today}}) 
  }

createdAt = new Date();
Run Code Online (Sandbox Code Playgroud)

chr*_*dam 18

.format()方法是一个显示辅助函数,它根据传递的标记参数返回日期字符串表示.要将MongoDB中的日期与当前日期和时间进行比较,只需调用moment()不带参数,不使用.format()方法,并通过调用toDate()方法获取Moment.js包装的本机Date对象:

today: function() {
    var now = moment().toDate();
    return Posts.find({createdAt : { $gte : now }});
}
Run Code Online (Sandbox Code Playgroud)

  • 这里是我们其余的人谁想到你不得不调用[`.toDate()`](http://momentjs.com/docs/#/displaying/as-javascript-date/)片刻对象上返回JavaScript Date对象,对序列化有效. (4认同)