Node.js mongodb查询以获取两个日期范围内的文档

Node.js mongodb查询以获取两个日期范围内的文档,node.js,mongodb,date,Node.js,Mongodb,Date,我的文档有一个日期类型如下的字段 { "_id" : ObjectId("568bae0fcfe23a50879d45fc"), "data": { "createdDate" : ISODate("2015-12-17T22:25:24.973+0000") } } 如何获取data.createdDate=todayDate-20天的所有文档 我尝试了下面的查询,效果很好 db.myTable.aggregate([ {$match:

我的文档有一个日期类型如下的字段

{ 
    "_id" : ObjectId("568bae0fcfe23a50879d45fc"),
    "data": {
          "createdDate" : ISODate("2015-12-17T22:25:24.973+0000")
    }
}
如何获取data.createdDate=todayDate-20天的所有文档

我尝试了下面的查询,效果很好

db.myTable.aggregate([
    {$match: {"data.createdDate": {$lte: new Date(), $gte: new Date(new Date().setDate(new Date().getDate()-20))}}}
])

但这个查询也考虑了时间。我只想比较一下日期

若要与日期进行比较,应在存储到数据库之前将createdDate的小时、分钟、秒和毫秒设置为零

如果您在db中有这样的日期,请尝试下面的查询

 db.collection.aggregate([
    {$match: {"data.createdDate": {$lte: new Date().setHours(0,0,0,0), $gte: new Date(new Date().setDate(new Date().getDate()-20)).setHours(0,0,0,0)}}}
])