mongodb - 在 MongoDB 中比较日期(moment.js)

标签 mongodb momentjs

我想比较 MongoDB 中的日期和我的日期。

我还阅读了thisthis发帖,我没有找到答案。

我的代码:

  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

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

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

返回

"NO"

有人帮忙吗?

编辑:

  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();

最佳答案

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

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

关于mongodb - 在 MongoDB 中比较日期(moment.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31475312/

相关文章:

node.js - MongoDb $addFields 和 $match

javascript - 使用 is Same 函数从 moment js 中的另一个数组元素中删除一个数组元素

javascript - 使用 moment.js 创建 24/12 小时格式的时间数组

javascript - 时刻时区检测时区为同一时区提供不同的值

php - 在 Mac OS Lion 上使用 XAMPP 安装 MongoDb PHP 驱动程序时出错

java - 与范围内的空日期进行比较

node.js - 在 Mongoose 中清理用户输入

mongodb组每2周

java - Momentjs calendar() 相当于 Java

javascript - AngularJS 中 input[date] 和 Moment.js 的绑定(bind)