2016-09-18 71 views
0

嗨,大家好,我试图写在MongoDB中一个复杂的查询来获取文件,其中当前服务器日期和createdAt日之间的日期时间差小于60分钟。MongoDB中找到查询,如果当前日期和createdAt日期之间的时间差小于60分钟

Mongoldb -v 3.0.10 的currentdate =新日期(); db.blog.find({ 'blogStatus': 'OPEN'})

要申请这样的事:

如果currentDate.getMinutes()>60分钟真秀假文件不显示文件

+0

这是重复的。只需在查询中使用$ gte或$ lte(更粗/小于)参数表。 – Mort

+0

的可能的复制[MongoDB的/猫鼬在特定的日期查询?](http://stackoverflow.com/questions/11973304/mongodb-mongoose-querying-at-a-specific-date) – Mort

回答

1

如果你想获得那些新超过60分钟的时候,那么你需要在查询中包括像这样的帖子:

db.blog.find({ 
    blogStatus: 'OPEN', 
    createdAt: { 
    $gt: date, 
    } 
}); 

其中date是通过从当前减去60分钟计算的日期时间。如果你使用类似Moment,那么你可以用它来减分:

moment().subtract(60, 'minutes'); 

确保你的格式和时区适合蒙戈。这应该工作:

var date = moment().subtract(60, 'minutes').utc().format(); 

无矩和蒙戈外壳内,这样的日子可以用类似构造:

var date = new Date(new Date() - 60 * 60 * 1000); 
相关问题