Javascript 使用UTC格式日期作为筛选器查询mongodb

Javascript 使用UTC格式日期作为筛选器查询mongodb,javascript,node.js,mongodb,date,mongodb-query,Javascript,Node.js,Mongodb,Date,Mongodb Query,我在MongoDB数据库中有100多万条记录,需要查询记录,以便它们的日期字段包含一个不在过去30天内的值。问题是它以UTCString()格式存在,而这种格式的比较不起作用 数据库中的日期如下所示- “2021年4月6日星期二23:22:43 GMT”不用UTC日期进行查询,可以使用Unix版本的日期,例如使用1616284800000代替2021-03-21T00:00:000Z 因此,您的查询将如下所示 find({“dateField”:{$lte:新日期(1616284800000)}

我在MongoDB数据库中有100多万条记录,需要查询记录,以便它们的日期字段包含一个不在过去30天内的值。问题是它以UTCString()格式存在,而这种格式的比较不起作用

数据库中的日期如下所示-
“2021年4月6日星期二23:22:43 GMT”

不用UTC日期进行查询,可以使用Unix版本的日期,例如使用1616284800000代替2021-03-21T00:00:000Z

因此,您的查询将如下所示

find({“dateField”:{$lte:新日期(1616284800000)})

如果你还没有试过,你也可以

find({“dateField”:{$lte:ISODate(“2021-03-21T00:00:00.000Z”)})


嗨,它不工作了。日期以UTCString格式存储在mongodb中,更改它的成本很高,因为有100多万条记录。我认为如果mongodb中的日期是以日期格式存储的,那么您的解决方案是有效的。您不应该将日期/时间值存储为字符串,这是一个设计缺陷。对于查询“Date对象。