mongodb查询在两个date范围内获取文档

我的文档有一个datetypes如下的字段。

{ "_id" : ObjectId("568bae0fcfe23a50879d45fc"), "data": { "createdDate" : ISODate("2015-12-17T22:25:24.973+0000") } } 

我怎么能得到所有文件data.createdDate <= todayDate和data.createdDate > = todayDate-20days。

我试着用下面的查询,这是工作正常。

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

但是这个查询也考虑时间。 我只想比较一下date。

如果您想与date进行比较,则应在存储到数据库之前将hours,minutes,seconds和milliseconds设置为零。

如果你在db中有这样的date,试试下面的查询

  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)}}} ])