如何使用mongoose时间戳日期查询

时间:2014-05-25 13:21:53

标签: node.js mongodb mongoose

我使用了mongoose-timestamp插件https://github.com/drudge/mongoose-timestamp

维护文档上的createdAt和updatedAt字段

我想找到在某个日期之后更新的文件,我该怎么办?

这就是我在做的事情:

Model.find({updatedAt : { $gte : new Date(2014, 5, 24)} }, function(err, docs){
    console.log(docs); //prints empty arry []
});

但是我已经检查了mongoose控制台..我发现有一些文件的updatedAt字段的价值在24May2014之后。

我在做什么错误?

1 个答案:

答案 0 :(得分:2)

JavaScript Date构造函数中的month参数从0开始,因此您需要在2014年6月24日之后查询具有updatedAt值的文档。

> new Date(2014, 5, 24)
Tue Jun 24 2014 00:00:00 GMT-0500 (Central Daylight Time)

所以你的查询没问题,你只需要更新它就可以使用4这个月:

Model.find({updatedAt : { $gte : new Date(2014, 4, 24)} }, function(err, docs){
    console.log(docs);
});