【问题标题】:Mongodb date with time is not working properly带有时间的Mongodb日期无法正常工作
【发布时间】:2017-07-09 21:49:24
【问题描述】:

我是mongodb 的新手。我正在编写一个查询来获取两个日期之间的文档。如果日期范围在过去几天内,则正确给出结果(like 2017-01-01T00:00:00.000Z to 2017-02-01T23:59:59.999Z)。如果日期范围在今天之内,那么它会错误地给出记录(like 2017-02-20T00:00:00.000Z to 2017-02-20T16:59:59.999Z)。下面是查询

db.collection.count({"date1":{$gte:ISODate("2017-01-01T00:00:00.000Z")},"date1":{$lte:ISODate("2017-02-01T23:59:59.999Z")}});

它的计数为 221。现在到今天:

db.collection.count({"date1":{$gte:ISODate("2017-02-20T00:00:00.000Z")},"date1":{$lte:ISODate("2017-02-20T16:59:59.999Z")}});

它让我算作 56。如果我在 this(2017-02-20T16:59:59.999Z) 时间之后添加一条新记录,那么相同的查询将我计为 57。另外,我尝试使用 $and 运算符,但结果相同。

请帮帮我。

提前致谢。

【问题讨论】:

  • 可以显示新添加的文档吗?
  • 这是2017-02-20T16:59:59.999Z 今天,UTC 时间。我认为您在当地时间和 UTC 时间之间混淆了。你在哪个时区?

标签: mongodb


【解决方案1】:

试试下面的代码。

db.collection.count({"date1":{$gte:ISODate("2017-02-20T00:00:00.000Z") ,$lte:ISODate("2017-02-20T16:59:59.999Z")}});

【讨论】:

    猜你喜欢
    • 2023-01-14
    • 2016-01-02
    • 1970-01-01
    • 2018-09-14
    • 2019-07-15
    • 1970-01-01
    • 2012-05-30
    • 2018-07-12
    • 1970-01-01
    相关资源
    最近更新 更多