【发布时间】: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