gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 23:34:09 26 4
gpt4 key购买 nike

我的文档有一个日期类型的字段,如下所示。

{ 
"_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))}}}
])

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

最佳答案

如果你想比较日期,你应该在存储到数据库之前将createdDate的小时、分钟、秒和毫秒设置为零。

如果数据库中有这样的日期,请尝试以下查询

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

关于node.js - mongodb查询获取两个日期范围内的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34627763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com