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