我必须找到5年前创建的文件。
此查询将返回所有内容。
db.col.find({
"createdDate":{
'$gte':new Date(new Date().setYear(new Date().getYear()-5))}
});
我四处搜索并发现它为sql,
select * from table1 where b > YEAR(CURRENT_TIMESTAMP) - 5;
我想在mongo中有类似的东西。
答案 0 :(得分:0)
您使用的方法不正确 - getYear()
根据当地情况,代表给定日期年份的数字 时间,减去1900年。
返回113
所以new Date().getYear()-5 => 113
new Date(new Date().setYear(113) => 0113-03-16T01:35:13.251Z
修正:
改为使用getFullYear()。
var dt = new Date();
dt.setYear(dt.getFullYear()-5);
db.col.find({ "createdDate":{'$gte':dt}});