我是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 。如果我在(2017-02-20T16:59:59.999Z)
次之后添加新记录,则相同的查询会将我计为 57 。此外,我尝试使用$and
运算符但结果相同。
请帮助我。
提前致谢。
答案 0 :(得分:1)
尝试以下代码。
db.collection.count({"date1":{$gte:ISODate("2017-02-20T00:00:00.000Z") ,$lte:ISODate("2017-02-20T16:59:59.999Z")}});